我正在使用dumpsys gfxinfo命令计算我的应用程序性能。在我的应用程序代码中进行了性能改进后,我观察到总帧数和Janky帧数大幅减少。
“总帧”计数和"Janky帧“计数的减少意味着什么?它是一个很好的性能指标吗?
附加的性能报告。
在性能改进之后
渲染的总帧数: 1542
简陋帧: 584 (37.87%)
第90个百分位数: 81ms
第95个百分位数: 93ms
第99个百分位数: 129ms
未命中Vsync的数量: 268
数字高输入延迟: 61
慢UI线程数: 471
慢速上传位图数量: 15
慢速问题绘制命令数: 511
总ViewRootImpl: 1
总浏览量: 434
总DisplayList: 505.57 kB
在性能改进之前
渲染的总帧数: 5185
简陋帧: 3229 (62.28%)
第90个百分位数: 101ms
第95个百分位数: 109ms
第99个百分位数: 121ms
未命中Vsync的数量: 2487
数字高输入延迟: 65
慢UI线程数: 2088
慢速上传位图数量: 75
慢速问题绘制命令数: 2967
总ViewRootImpl: 1
总浏览量: 435
总DisplayList: 506.74 kB
发布于 2017-11-10 12:29:15
“总帧数”:创建渲染的帧数。"Janky Frames“:丢帧的数量。“渲染的实际帧数”:总帧数- Janky帧数。
即使总帧数增加而Janky帧数减少
帧是性能的良好指示器,但这还不够。一秒内在屏幕上渲染的实际帧数是决定性能健康的计算结果。一秒内渲染的帧数越多,表示性能越好。
发布于 2019-01-28 16:49:09
在使用"dumpsys gfxinfo“之前,您应该使用"adb shell dumpsys gfxinfo reset”来重置系统中的帧测量数据。然后在你改进的屏幕上做一些操作。然后使用"dumpsys gfxinfo“。
渲染的总帧数:从"reset“到"dumpsys gfxinfo”渲染的帧数。Janky frame:是耗时超过16ms的帧数,而不是丢弃的帧数。
Janky帧速率是一个非常好的数据,您可以在提高性能时进行比较。在您的例子中,您将简陋的帧率从62.28%降低到37.87%,这是非常好的。
发布于 2019-11-06 20:19:04
adb shell dumpsys gfxinfo <PACKAGE_NAME>命令在进程的整个生命周期内提供有关帧呈现的汇总统计信息。
在解释输出时,有两件事需要牢记:
gfxinfo输出还提供时间信息uptime、realtime和stats since。要计算总时间,需要计算记录的stats since - realtime或stats since - uptime。realtime和uptime很可能是相同的值(两者之间的区别是另一个topic)回答您的问题:
“总帧数”和“简奇帧数”的减少意味着什么?
总帧数的减少可能是交互减少或gfxinfo记录时间减少所致。Janky帧的减少基本上是相同的,而且可以渲染更多的帧,而不是丢弃。只有在两个示例中应用了相同的测试时,这种解释才有意义。
是一个很好的性能指标吗?
如果(且仅当)用于比较两个不同实现(例如,动画的)的相同测试导致两个实现的优化版本的减少,则简陋帧的减少是性能的良好指示器。
https://stackoverflow.com/questions/45236131
复制相似问题