【问题标题】:Canvas.SendWillRenderCanvases() loads CPUCanvas.SendWillRenderCanvases() 加载 CPU
【发布时间】:2019-01-10 14:19:23
【问题描述】:

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

那么为什么 LayoutRebuilder.Rebuild() 和 Graphic.Rebuild() 会占用这么多 CPU?

【问题讨论】:

    标签: user-interface unity3d unity5


    【解决方案1】:

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

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

    【讨论】:

    • 我的预制件确实有很多带有 Layout Group 的对象,感谢您提供信息
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-23
      • 2017-06-06
      • 2012-07-14
      • 1970-01-01
      • 1970-01-01
      • 2020-06-02
      • 1970-01-01
      • 2015-02-28
      相关资源
      最近更新 更多