前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Unity-Optimizing Unity UI(UGUI优化)02 Unity UI性能分析工具

Unity-Optimizing Unity UI(UGUI优化)02 Unity UI性能分析工具

作者头像
祝你万事顺利
发布2019-07-19 10:51:42
1.9K0
发布2019-07-19 10:51:42
举报
文章被收录于专栏:Unity游戏开发

几个有帮助的性能分析工具。关键工具:

  • Unity Profiler
  • Unity Frame Debugger
  • Xcode's Instruments or Inter VTune
  • Xcode's Frame Debugger or Intel GPA

拓展工具提供了方法级CPU毫秒级性能分析的解决方案,包括draw-call的细节和shader的性能分析。注意XCode帧调试和仪器只能在IL2CPP构建在苹果平台上的时候可用。

Unity Profiler

Unity Profiler的基础使用是去显示可对比的性能数据:在Unity Profiler运行的时候启用或者禁用UI元素,可以快速在UI hierarchy中缩小性能问题出现的位置。 去分析这个,可以去看Canvas.BuildBatchCanvas.SendWillRenderCanvases的输出情况。

图片.png

Canvas.BuildBatch是原生代码计算平台的Canvas Batch创建过程,如前所述 Canvas.SendWillRenderCanvases将调用注册了willRenderCanvases事件的C#脚本。Unity UI的CanvasUpdateRegistry类接收这个事件并用它来实现重构过程。这时dirty的UI组件将更新Canvas Renderers。

注意:为了更容易的观察UI的表现,建议禁止除了"Rendering","Scripts"和"UI"以外的全部跟踪类别。在Unity 2017.1中UI类别是全新的,但是,UI部分还是存在一些问题,一些UI元素没有正确的分类,可能在Canvas.SendWillRenderCanvases被认为是UI,但是在Canvas.BuildBatch被分类为OthersRendering

在2017.1或更高级版本中。这个profiler是Profiler窗口的最后一个,包括两个timeline和一个batch viewer。 第一个timeline显示CPU消耗时间在两个类别之间,分别计算layout和rendering过程。这个也存在一些问题一些UI function没有被包括进来。 第二个timeline显示了全部的batches,顶点和显示了event markers。 可以看见点击事件,这些marker帮助来确认造成CPU spike的原因 最后UI Profiler最有帮助的方法是在底部的batch viewer。这里可以看见全部的canvases和它们下面的生成的batched的列表。这里列出了可能感兴趣的关于每个canvas和batch的细节,这里你可以看到如何更好的优化UI和理解他们是如何batch的。 一个最频繁的原因,是UI元素使用了不同的texture或者material。在许多情况中,这可以通过sprite atlases来解决。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019.07.18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Unity Profiler
相关产品与服务
批量计算
批量计算(BatchCompute,Batch)是为有大数据计算业务的企业、科研单位等提供高性价比且易用的计算服务。批量计算 Batch 可以根据用户提供的批处理规模,智能地管理作业和调动其所需的最佳资源。有了 Batch 的帮助,您可以将精力集中在如何分析和处理数据结果上。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档