Unity性能分析UPR

    近期开始对性能测试方面这块比较感兴趣,特别是游戏性能方面。众所周知,Unity3D引擎在手机游戏上使用的比较多,而且也相对简单易学(可能GODOT现在会更容易上手一点,不过就就业来说学Unity3D的性价比应该会高一些)。对于像我初学者而言,在Unity3D的开发虽然简单,但是由于缺少工作经验也还是比较难以写出比较好的工程项目。

    大多数的情况下,我还是比较喜欢使用Unity自带的Profiler来调优,不过总感觉不是很够用,不太好定位到具体位置,可能一不小心就漏过去了。当然也有个好处,就是不管在android还是ios上的应用都可以直接使用这个Profiler进行调优。

Unity性能分析UPR_第1张图片

    最近发现了官方除了一个性能优化工具感觉可以一试(重点还是因为据说是免费的)。

    注册了个账号就直接进行测试了,需要先创建一个项目,然后再创建一个Session,通过扫描二维码的方式进行测试。

Unity性能分析UPR_第2张图片

这边支持的版本号蛮多的,最低可以到4.3版本。在下面提示中可以看出不同的版本号数据采集方式貌似不同。不过在Editor上的Profiler貌似没有这个问题,不是很懂这个是为什么,不过还是按要求进行测试吧。

Unity UPR提供了app还有window和mac的客户端进行测试,在使用mac命令行进行测试时,需要自己开启两个窗口,极大地损坏了用户体验。如果能够在开始测试的时候再启动一个窗口就更好了。

Unity性能分析UPR_第3张图片

    这就是一份测试报告。应该是通过某种方式获取了一些测试设备的设备信息,下次可以尝试一下如果使用模拟器会不会显示这些信息。点击了一下分享报告,本来以为会弹出像百度网盘一样的分享link和password,还有就是link的有效期,不过这边只是显示了复制了链接。(这块内容比起PerfDog还是有所不足啊)

    Unity性能分析UPR_第4张图片

     整个测试报告的结果展示还是很不错的,给出了一个综合测试评分(虽然不是很清楚评分标准,不过应该是Unity内部的某种算法吧)还有各种各样的优化建议值。

Unity性能分析UPR_第5张图片

  比较有亮点的地方还是区间报告这一块,可以通过拖拉下面的时间轴,具体定位到某些位置,查看相应位置中的性能损耗。相当于就是局部数据的收集,这样我只要测试一次生成一份报告,还可以获得每个场景的总体评价。

Unity性能分析UPR_第6张图片

     在区间统计的页面中还是可以获取一个区间评分还有函数耗时和gc的排行,通过这个进行优化还是不错的。从图中可以看到具体的耗时集中在哪个函数区间(这边相对PerfDog有个缺点就是PerfDog可以对区间自由设计,这里没看到设置统计的位置,应该就是固定了16ms 33ms 50ms几个标准吧。)

Unity性能分析UPR_第7张图片

    在最下角还有个Lua的性能分析,下面表示了是整合了Miku-LuaProfiler这个开源项目的,这样子确实是相对方便一点,不然还得再用LuaProfiler测试一次,显得比较麻烦了。

Unity性能分析UPR_第8张图片

总而言之,Unity UPR是一个还算不错的性能分析工具。能够帮助不少开发者准确地分析Unity项目的性能,使用起来也相对简单。虽然在某些方面仍有一些疑问,不过希望之后能够做的越来越好了。

你可能感兴趣的:(Unity性能分析)