UGUI性能分析工具
性能分析有很多可用的工具,下面是常用的几种:
- Unity Profiler
- Unity Frame Debugger
- Xcode Instruments
- Xcode Frame Debugger
Unity Profiler
Unity Profiler主要用来进行比较分析:在Unity Profiler运行的时候,通过启用、禁用一些 UI 元素,如果发现波形的振幅迅速变小,那么说明这部分的UI可能存在一定的性能问题。
为了分析这种情况,观察Unity Profiler 中的Canvas.BuildBatch和 Canvas.SendWillRenderCanvases 行。
Canvas.BuildBatch 是本机代码调用,主要是Canvas的批处理构建操作,可以参考前文的描述。
Canvas.SendWillRenderCanvases 包含对 Canvas.willRenderCanvas 事件订阅者的调用,UGUI 的 CanvasUpdateRegistry 类接收该事件,并且进行重构操作,所有被标记为 dirty 的组件,它们的 CanvasRenderer 将在此时被更新。
提示:为了能够更贱方便的观察性能变化,除了 “Renderer”、“Scri