针对硬件的游戏性能,Fraps、MSI Afterburner、PresentMon可能是玩家们平日里使用最频繁的三款工具,前者可以极为简便的记录每一秒的帧数,后者可以提供更为底层、平台支持更全面的性能监测,而MSI Afterburner对于OSD有着得天独厚的优势,说到这里可能一些更硬核的玩家会想起逐帧分析工具NVIDIA FCAT(Frame Capture Analysis Tool)。当然,这几款常见的工具各自发挥的舞台都是普通的桌面游戏,不过在上周的GDC 2017中,NVIDIA已经将FCAT引入VR环境中,成为一款VR环境的性能监测记录工具。
根据NVIDIA向外媒提供的资料,VR环境下传递每一帧的机制大致可以分为VR Game、VR Runtime两个部分,如果进程运行正常,它们的运行机制大致是这样的:
1.在VR Game部分,游戏应用会对即时头盔位置传感器取样,并开始更新摄像头传感器的信息,以正确的追踪用户的头盔的坐标位置,最后游戏应用会开始建立一帧,GPU开始向下一帧渲染材质。
2.在VR Runtime部分,渲染的材质会被读取,并会被更改并最终生成一副图像,也就是在头显(HMD)上显示的该副图像,在该环节还包括对颜色和镜面扭曲的矫正。
不过在关键的VR Runtime环节,如果生成一帧的时间太久、或该环节的工作量太复杂,最终的生成时间会被拖得太长,而下一帧的图像也来不及被渲染,这时一般的渲染应用会自动重新渲染上一帧的图像,但从体验上这种拖滞是不可接受的,因为VR环境本身对于延迟就是很微妙的一种体验。
在算法层面上,这种因为渲染时间过长而引起的拖滞是可以弥补的,我们耳濡目染的很多所谓的异步扭曲就是便是如此,虽然各有各的思路,但一般的逻辑是讨巧地利用传感器收集到的信息,在用户最近所在的位置上人工合成一帧(也就是常见的Re-Projection)。在这种环境下你的帧数可能从没有办法达到的90帧干脆降为45帧,虽然这种方式很任性,但是效果却比机械地插帧更好。
FCAT VR主要在四个维度上采集关键性能信息:
1.游戏应用申请的帧(Dropped Frames)
2.扭曲之后的丢失帧(Warp Misses)
3.FCAT VR记录的帧时间数据(FCAT Frame Time Data)
4.由异步空间扭曲而人工合成的帧(Frames synthesized by asynchronous spacewarp)
从外媒分享的截图来看,FCAT VR软件的界面和友好,基本没有什么理解的难度,功能也很使用,我们可以看到Benchamark数据生成路径、Benchmark热键、测试时间窗口等等。而从测试的效果图来看,效果也很清楚,通过FCAT VR我们可以很方便的记录VR应用的硬件性能,填补VR评测的空白,该工具将在本月中旬开放下载。
小超哥贴心服务:有困难有想法想聊天,请找小超哥(微信号18680462854),免费咨询、免费试用、免费门票、抢先爆料、优惠团购、有奖活动、VIP通道……还有万计朋友和你一起搞机!