通过CPU采样分析优化VR应用,SimplePerf现已支持Quest

查看引用/信息源请点击:映维网Nweon

CPU分析对优化VR应用十分有用

映维网Nweon 2022年10月10日)CPU分析对优化VR应用十分有用。在日前一篇博文中,Meta表示Linux Perf工具的Android实现SimplePerf现在已经支持Meta Quest设备。

与Perfetto等其他常用工具不同,SimplePerf不需要修改源代码,这样你就可以更容易地发现应用中的性能热点,同时它允许你检查整个应用的性能,无需在源代码中插入标记。

工作原理

SimplePerf是一个采样分析器,这意味着你可以给它一组要记录的事件,以及写出其中sample的频率。在每个时间间隔,你的应用都会被中断,并会记录一个sample。SimplePerf使用应用中的symbols将样本与源代码关联。你可以记录多种类型的软件和硬件事件。

默认情况下,SimplePerf记录cpu-cycle事件。对于通过计算所有已用cpu-cycle来确定执行部分应用所需的时间而言,这非常有用。录制事件时,它会显示应用中最长和最频繁调用的函数。函数运行的时间越长,它越有可能被采样中断。你可能会发现cpu-cycle事件对于大多数调查来说已经足够,但有其他事件可以与之结合使用,从而可能有助于确定代码速度慢的原因。

“cache-misses”事件统计CPU数据缓存miss。函数发生的缓存miss越多,它在报告中显示的可能性就越大。它可以记录其他类似的计数器事件,如“instructions”和“page-faults”等等。

SimplePerf用例

SimplePerf并非适合所有性能调查。例如,SimplePerf无法轻松帮助你找到帧峰值的原因,因为它不善于揭示偶尔缓慢的代码。SimplePerf所能做的就是报告它为给定函数记录的sample量,所以如果你有一个执行1000次的函数“foo”,并且只有其中一次速度很慢,SimplePerf只会告诉你它为foo调用记录了N个sample。对于这种情况,诸如Perfetto这样的工具将更为有用。

另外,特定函数可能不会包含在报告中,因为它们出现在sample之间。你可以通过增加采样频率来增加快速函数采样的可能性,但增加采样会增加应用的开销。你可能需要调整每个事件的频率,从而在开销和准确性之间取得平衡。

SimplePerf可以很好地帮助你全面了解应用的性能,无需首先标记代码。能够对各种硬件和软件事件进行采样,这不仅可以帮助你更容易地找到速度慢的地方,并且可以找到和判断相关原因。

本文链接https://news.nweon.com/101353
转载须知:转载摘编需注明来源映维网并保留本文链接
入行必读AR/VR——计算机历史第二次大浪潮
素材版权:除额外说明,文章所用图片、视频均来自文章关联个人、企业实体等提供

更多阅读推荐......

资讯