Canvas.SendWillRenderCanvases()加载CPU

时间:2016-05-23 14:48:15

标签: user-interface unity3d unity5

我有模拟messanger工作的游戏,因此游戏中的窗口中会添加消息。但是当我创建预制消息并将其添加到窗口时,我可以看到CPU峰值,并且分析器向我显示了这个

enter image description here

那么为什么LayoutRebuilder.Rebuild()和Graphic.Rebuild()吃了这么多CPU?

2 个答案:

答案 0 :(得分:2)

根据您要添加的预制件的大小,当您实例化它时,必须通过统一并重新计算预制件的所有尺寸并填充网格。如果您使用较少的布局组,则会缩短布局时间,但只能通过减少要显示的项目来减少图形重建。

如果您想看看调用这些内容时会发生什么,您可以在此处查看source,这可以让您更好地了解如何优化您的特定预制件

答案 1 :(得分:0)

当我在画布上禁用Pixel Perfect时,帧速率下降消失了。