订阅移动开发RSS CSDN首页> 移动开发

三板斧,分析优化移动VR应用性能

发表于2016-12-21 10:24| 来源CSDN| 作者CSDN

摘要:Dimensional Research机构的研究表明,96%的移动VR用户认为性能非常重要。本文介绍了三种方法,帮助VR开发者分析CPU、GPU、DSP、内存、电源、温度和网络数据,更好地优化应用性能。

虚拟现实应用是否具备高性能对用户而言十分重要,不过,开发人员在如何实现高性能方面需要采取聪明的方法。

你是否会惊讶于有96%的移动用户认为VR性能很重要?如果性能对用户如此重要,那么我们就不可轻视它。即使性能不是我们最优先的处理事项,但是作为开发人员,我们有责任确保我们不运行烦人的后台服务,增加不必要的耗电。随着VR硬件更易于使用,我们的应用不应该使头盔过热。

Qualcomm®Snapdragon™Profiler允许您分析CPU、GPU、DSP、内存、电源、温度和网络数据,您可以找到并修复应用浪费电量、产生热量的性能瓶颈。加上Symphony™SDKAdreno™SDK中的工具,Snapdragon Profiler是迈向异构编程的重要一步,也是构建VR应用的宝贵工具。它可以显示代码是如何影响Snapdragon处理器的不同核心和资源。

本文中,我将介绍三种方法,利用Snapdragon Profiler剖析应用内部发生的情况。下一篇文章中,我会讲讲VR编程中三种最糟糕的做法,并介绍分析方法。

那些“过热”的应用

首先,举一个例子,比如移动设备出现了烫手的温度。 我们都读到并看过手机运行过热时出现的后果。不管温度是在电池、存储器,还是在计算核心中积聚,都会产生重要的影响。因此,Snapdragon Profiler会显示应用如何影响测试设备的温度,以及温度如何影响计算能力。

下面的截图来自于我台式机上运行的Snapdragon Profiler。我通过USB连接到测试设备,分析设备上一款大量占用CPU资源的应用。

CPU内核的工作温度在150°F/65°C时仅仅保持了很短的时间,之后频率崩溃。此时,系统调度程序和电源监控器指示内核以较低的时钟频率运行,设备逐渐降温。可以看到CPU 0/1/2/3频率和GPU利用率直线下降了大约一分钟,然后逐渐回升。

如果您的VR应用发生这种现象,您想想会对用户体验产生什么样的影响?性能肯定也会直线下降。应用很难再像之前那样渲染帧,而是以较低的时钟频率运行,帧速率也较低。硬件根本无力应付。用户的一星差评将“杀死”您的应用。

Snapdragon三种分析模式

这就是Snapdragon Profiler给出的应用信息。它提供了三种不同的模式,以发掘应用性能。

1. 实时模式——上面的截图为Snapdragon Profiler在实时模式下的性能分析。我利用USB(或Wi-Fi)通过ADB连接测试设备和开发机器。您可以选择正在运行的应用、服务和小组件,了解它们如何影响CPU、GPU、内存、网络和温度情况。

2. 跟踪捕获——为显示内核和系统随着时间推移的性能,跟踪模式以高采样率捕获事件。下面的截图中,Snapdragon Profiler显示了一款VR应用在表面渲染时,DSP指标和驱动程序的活动情况。

3. 快照模式——在快照模式下分析帧和缓冲区级别的纹理。您可以看到场景是如何使用OpenGL ES构建的:绘制调用、对象属性、着色器代码和像素历史。在下面的部分快照中,我标注了VR应用中右眼和左眼的绘制调用。

Snapdragon Profiler兼容所有搭载Snapdragon处理器的设备。包括商用板和开发板,如DragonBoard 410c。(非Snapdragon设备上支持的功能有限。)Android设备和版本越新,Snapdragon Profiler提供的信息越有价值。

接下来

Snapdragon Profiler现在即可下载、安装

  • 检查 系统要求。Snapdragon Profiler对系统要求不高,以便您可以立即开始分析应用。
  • 我们的 常见问题页面包含安装、功能和故障排除。
  • 我们整理了一份有关使用Profiler的 视频

在VR应用中,Snapdragon Profiler可以帮助您充分利用16ms的时间(其实实测大约是12-14ms),渲染双眼的每一帧。我会在下一篇文章讨论这个话题。


更多Qualcomm开发内容请详见: Qualcomm开发者社区 

0
0