NVIDIA的最新版本FCAT VR分析工具已经发布了,它配备了许多令人印象深刻的功能,旨在解密PC上的虚拟现实性能。
NVIDIA在本周的GDC上宣布了FCAT(Frame Capture Analysis Tool)的VR专用版本,旨在为爱好者和开发者提供易于访问的虚拟现实渲染指标,以帮助他们理解VR性能。
在早期的PC游戏时代,硬件爱好者的世界是一个由最高数值统治的简单场所。像3DMark这样的基准测试工具输出成绩,供购买最新最好的GPU的人像荣誉徽章一样炫耀。当时,最高帧率是衡量游戏性能的主要指标,而大多数基准测试的分数来源于显卡从帧缓冲区中快速输出像素的速度。然而,任何玩过一段时间PC游戏的人都会告诉你,这很少能够完全展示游戏的实际感受。完全有可能拥有一台高性能的游戏电脑,在基准测试中表现出色,但在实际游戏中却提供了次优的用户体验。
然而随着时间的推移,“帧间隔”和“微卡顿”等词汇开始出现在性能社区的讨论中。爱好者开始承认,由一组硬件提供的稳定的渲染体验比其他一切都重要。这种思维方式的转变伴随着新的工具和基准测试的出现,这些工具和基准测试能够更深入地研究PC性能图像,揭示硬件能够提供良好一致体验的程度。
其中之一就是FCAT,它是Frame Capture Analysis Tool的缩写。于2013年出现的FCAT旨在捕捉用户在监视器上实际看到的画面,测量由丢帧引起的帧延迟和卡顿现象,并将最终图像与伴随的渲染元数据一起输出到捕获的视频中。
现在,NVIDIA正展示了一个据称开发了几年的产品,以捕捉PC渲染性能的底层信息。FCAT VR已经正式发布,并带来了一套工具,使其与现在面临的最新渲染挑战-VR更加相关。
什么是FCAT VR?
底层是一款帧时间分析工具,可以在渲染流水线中获取低级别的性能指标。FCAT收集有关总帧时间(应用程序渲染一帧所需的时间)、丢帧(渲染速度过慢导致的帧丢失)以及VR头盔的本地重投影技术运行情况(有关重投影的简短介绍请参见下文)的性能数据。
最初的FCAT软件包是一组二进制文件和脚本,提供从VR会话中捕获数据并将数据转化为有意义的捕获分析的工具。然而,NVIDIA为了易于使用,将新软件包完全包装在一个图形用户界面中。FCAT VR由三个组件组成:VR Capture工具可以连接到渲染流水线并获取性能指标,VR Analyser工具可以从Capture工具中获取数据并解析为可读的图表和指标,最后一个组件是VR Overlay,可以为VR内部的用户提供应用程序性能的视觉参考。
在启动FCAT VR Capture工具之前,启动VR游戏或应用程序时,它的钩子已准备好获取性能信息。一旦打开FCAT VR,就可以使用配置的热键启动基准测试,然后开始将度量数据转储到原始数据磁盘上。会话结束后,您可以使用提供的脚本(或编写自己的脚本)来提取人类可读的数据。可读取的数据并输出图表、图形或其他你钟爱的统计数据。正如你可能知道的那样,为虚拟现实进行渲染是一项具有挑战性的工作,今天的消费级头戴设备的主要供应商已经采用了各种特殊的渲染技术,以使普通的游戏电脑能够提供所需的低延迟、高(90FPS)帧率性能。当系统性能低于期望的最低值时,这些系统被设计为备份,这与渲染虚拟现实应用的完美场景有所偏离。下面的图示是一个简化的虚拟现实渲染流程图(与所有PC虚拟现实系统大致类似)。
简化的虚拟现实渲染流程图(完美世界)
然而,考虑到普通游戏电脑的复杂性,即使是最强大的配置也可能出现性能下降。这可能导致虚拟现实应用无法达到每秒90帧的完美世界场景。性能下降会导致丢帧,而丢帧又可能导致虚拟现实中的不舒适卡顿。
其中最重要的技术包括异步时间扭曲(现在还有空间扭曲)和重投影。这些技术可以确保用户在他们的虚拟现实头盔中所看到的内容能够尽可能地与他们在虚拟现实中的移动相匹配。最后可能时刻采样的数据用于调整帧以匹配头盔的最新动作数据,填补系统或应用程序不一致或性能不佳的情况下留下的空白。即便如此,这些技术的作用也是有限的。下面是一个“扭曲丢失”的示例,即应用程序或运行时无法为虚拟现实头盔提供最新的帧。
这是一个安全措施,但是当帧数下降时,它在减少由于帧丢失引发的视觉断裂感和图像的卡顿和抖动方面起到了非常重要的作用。尤其是Oculus现在对其重投影技术非常有信心,他们在推出其专有的异步空间扭曲技术时,降低了他们的最低PC规格要求。任何这些技术都不应该(也不是设计为)解决硬件性能不佳的问题。无论如何,没有什么能够取代与虚拟现实头盔的显示器匹配的稳定帧率。
不管怎样,这些技术都是在低层级实现的,并且对于处于渲染链头部的任何应用程序来说基本是透明的。因此,从测量性能下降和这些优化何时被使用的驱动程序中收集的指标对于了解系统的运行状况至关重要。这就是FCAT VR的作用所在。英伟达对这个新工具的功能进行了总结,如下所示(尽管在此我们还不能透露更多底层细节):
帧时间 — 由于FCAT VR提供了详细的计时,可以测量渲染每一帧所需的时间。帧时间越低,应用程序保持90帧每秒以提供优质虚拟现实体验的可能性就越大。帧时间的测量还能够了解PC的性能空间超过VR头盔所采用的90fps垂直同步上限。
丢帧 — 当由虚拟现实游戏渲染的帧到达头盔显示时已经太晚,就会发生帧丢失。这会导致游戏卡顿并增加被感知的延迟,从而引起不适。
扭曲丢帧 — 每当运行时无法在当前刷新间隔内产生新帧(或重新投影的帧)时,就会发生扭曲丢帧。用户会感受到明显的卡顿。
合成帧 — 异步空间扭曲(ASW)是一个过程,通过该过程可以生成合成帧,以尽可能与头盔的运动匹配。应用先前渲染帧的动画检测,合成一个新的预测帧。如果FCAT VR检测到大量ASW帧,我们就知道系统无法满足游戏的需求。合成帧比丢帧要好,但比渲染帧要差。
这一切意味着什么?
简而言之,从现在开始,爱好者不仅可以评估他们的VR系统的高级性能,更重要的是可以深入了解每种技术的具体指标。我们现在可以分析每个平台的重投影技术在不同应用和硬件配置下是多么活跃和有效。例如,与Open VR的异步重投影相比,Oculus的专有异步时间扭曲有多有效?它还可以为系统爱好者提供关键信息,准确找出问题所在,或者为开发人员指出他们的应用程序可以在哪些方面进行性能优化。
尽管如此,我们仍然在充分评估FCAT VR的最新版本的信息范围以及其提供信息的成功程度(或者该信息是否有用)。然而,毫无疑问,FCAT的最新版本提供了迄今为止最全面的VR性能测量工具套件,并在很大程度上揭示了渲染流程中的奥秘。我们期待在FCAT VR上继续深入挖掘,并在3月中旬计划发布该工具后向您报告。
0