Windows 混合现实如何使用设备门户检测和优化性能?

Windows混合现实的开发者,可以利用Windows 10平台下 .NET和Unity易学易用的特点,进行快速编码,调试和发布通用应用,开发体验相对流畅。使用Windows和Visual Studio实用工具,可以帮助开发者进行混合现实应用性能诊断,分析,和优化。

设备门户介绍

设备门户早期版本对HoloLens的开发者不会陌生,对混合现实沉浸式头显的开发团队来说接触可能会偏少。在Windows 10 秋季更新版发布后,这款Windows自带的管理和配置设备的工具添加了更多功能,其中一部分就是和混合现实相关。通过浏览器进行访问,设备门户自带了大量的工具可以帮助用户查看目标机器的帧率,CPU,GPU负载,内存和网络状况,以及增强的日志记录功能等。

使用前开启设备门户步骤:

  1. 点击Windows右下角的通知图标,选择 [所有设置];
  2. 点击 【更新和安全】,选择 【针对开发人员】,提供登陆用户名,和密码,点击应用,就可以安装不同连接方法登录设备门户 ;
  3. 选择本地登录https://localhost:50443, 输入登录信息。如果遇到如下提示选择【是】, 因为这个证书是本地测试证书,如果浏览器也提示证书的警告信息,可以选择继续查看此网页;
  4. 在设备门户里,选择Performance,就可以看到CPU, GPU, IO, Memory, Network动态的性能指标, 为判断应用在设备上做了些什么事情提供量化依据;
  5. 在设备门户里的选项里有Mixed Reality一项。选择后,可以看到除了3D View之外,还有Frame Rate(Frame per Second, FPS) 的页面。打开混合现实门户(Mixed Reality-Windows Device Portal),就可以看到Frame Rate保持在理想的90FPS上下。

在实际研究自己的应用时,要记下FPS数值波动是出现在什么情况下(加载,复杂场景,或者是普通的渲染)。对于明显的FPS下降,要多角度考虑:

在实际研究自己的应用时,要记下FPS数值波动是出现在什么情况下(加载,复杂场景,或者是普通的渲染)。对于明显的FPS下降,要多角度考虑:

  • 是不是由于更多的渲染?
  • 有没有主线程逻辑的blocking?
  • 系统这个时间在忙其它的事情了吗?
  • GPU, CPU, Memory, IO 情况如何?

如果FPS一直处于较低水平,考虑是不是超出当前设备提供的计算能力,比较高端和低端机器运行状况的不同,会对应用适用场景做到心中有数。

这个过程给出一个通过设备门户的直观信息和易用工具,快速排查问题,收集数据,并明确原因的基本方式方法 。 对于混合现实应用,除了线程方面可能的原因,如果遇见GPU或CPU过高,就会考虑图像图形处理方面的优化是否有欠缺,会需要借助其它更进一步的图形调试工具。