「映维VR」ARM分享:如何优化汽车驾驶AR应用( 二 )


设置Streamline来剖析AR应用非常容易 。 这个文档介绍了如何激活Linux内核的特定选项 , 以及如何在目标平台安装gatord精灵虚拟光驱 。
通过Streamline剖析应用程序的主要方法有两种:
精灵虚拟光驱(在线)模式:将目标接到Streamline工具 , 并在运行期间将应用程序性能直接实时记录到Streamline中 。
本地捕获(离线)模式:1.设置目标以将应用程序性能数据记录到内存中;2.使用Streamline将生成的文件传输到主机;3.运行完成后进行分析
对于Apostera的情况 , 任意一种模式都适用 , 而他们最后决定通过离线方法来收集数据 。 在设置并记录了数次AR应用运行之 , 他们将概要文件数据转移到Streamline并开始进行分析 。
4. 分析
Streamline提供了几种不同的方式来可视化记录数据 。
“Timeline(时间轴)”选项卡显示随时间推移的CPU和GPU活动 , 以及指定的PMU指标图表 。
「映维VR」ARM分享:如何优化汽车驾驶AR应用
本文插图
“Function(功能)”选项卡显示代码中所有功能的热图 。 在这里 , Linux内核在编译时没有调试符号 , 从而导致了未知的代码消息 。
「映维VR」ARM分享:如何优化汽车驾驶AR应用
本文插图
“Code(代码)”选项卡显示指定源文件在每个源代码行所花费的时间 。

「映维VR」ARM分享:如何优化汽车驾驶AR应用
本文插图
“Call Paths(调用路径)”选项卡显示代码线程的热图 , 并显示执行期间耗时最多的地方 。
「映维VR」ARM分享:如何优化汽车驾驶AR应用
本文插图
Apostera指出:“我们发现调用路径视图特别具有启发性 , 它显示了每个编译单元和子单元中调用的样本数量 。 我们立即在时间轴热图中确定了耗时最多的代码区域 。 另外 , 将源代码接到工具 , 并将应用程序调试信息加载到Streamline有助于我们发现问题代码的确切文件和行数 。 这种快速的问题识别和专一性简化了我们的性能分析和重构建议过程 。 ”
Streamline工具简化了性能剖析和分析 , 为Apostera应用程序在运行期间的行为提供了简便的概览 。 作为Arm Development Studio的组件 , Streamline可以免费下载并使用30天 。