VR 延迟能降低 15 倍 ?微软闷声攒了个大招
过去在去年的开发者大会上,微软的 HoloLens 让人大赞「Amazing!」。在我们天真地以为微软的精力只放在 HoloLens 上时候,微软又拿出另一项大杀器——据说,这项技术能帮助 VR 设备提高 8 倍单一帧率和降低 97 倍功耗和 15 倍延时。原来微软才是那个闷声攒大招的主儿。
什么科技能有这么神?
我们可以先看看官方怎么形容这项技术:
FLASHBACK(回放)是针对 VR 头显而设计的非传统式算法,它最大的不同在于不让设备进行实时场景渲染。相反,FLASHBACK 将所有的运算能力用于提前计算和缓存好 VR 用户可能预见的所有场景。FLASHBACK 尽力将渲染出的图像离线储存好,提前构建好用户看见的全景图像。
在运行的时候,FLASHBACK 会生成和维持分层目录以便于快速调取用户将会观看的图像。在缓存管理系统中提前调取图像的时候,FLASHBACK 使用与目标图像近似的框架进行搜寻。除此之外,FLASHBACK 不仅能被运用在静态图像上,还能被运用在动态场景和运动物体上。
目前设备图像的渲染都是依托于高端计算机的高性能,进行实时渲染。而 FLASHBACK 的特点如同其名——就好像是我们缓存视频一样,它提前帮我们加载好图像,这样我们在体验 VR 设备的时候就不会卡顿掉帧。原来在这个过程中,GPU 的负担很重,它在整个过程中需要实时待命,马不停蹄地为前方输送图像。而 FLASHBACK 相对而言,则是减轻了 GPU 的压力。
另外值得注意的一点是,FLASHBACK 的图像管理机制。在预先渲染好了图像之后,FLASHBACK 会把图像压缩储存在 GPU 的缓存或 SSD/HHD 中。这种做法在碰到动态图像时最有利——比如,当你在观察演员运动的时候,它会根据你的运动方向,展现给你看由压缩的框架渲染出的图像。
同时经过这样一次压缩,VR 内容对于缓存和储存的要求也降下来了。解码 4K 级别的内容可能需要 8MB 的缓存,而经过这一步处理之后,仅需要 100KB 的储存空间或 RAM。总而言之,就是这项算法在提高 VR 内容顺滑度的同时,对于设备的缓存和储存空间要求都降下来了。
道理我都懂,但这与我有什么关系?
能提升 VR 设备在观影/游戏时的顺滑程度,这听上去似乎有些遥远。因为大部分算法的优化是针对像 HTC Vive 和 Oculus Rift 这样的 PC 驱动的头显。的确,用于展示的 Demo 是基于 Oculus Rift 做的展示:
(优酷视频上传不上去,感兴趣的可以点这个链接)
用于展示的电脑是 HP Pavilion(详细配置见:亚马逊传送门)显卡方面的配置如下:
通过这个展示用的 Demo 进行对比,我们不难发现采用了新技术的 FLASHBACK 的 VR 设备更为顺滑。难道这项技术又只是「土豪专供」么?
实际上,微软提出这项技术的目的更主要的是优化移动 VR 的体验,尤其是仔细看看优化的结果——提升图像质量和降低延迟,特别是降低了功耗。
目前 PC 驱动的 VR 设备体验不错,但这些设备的致命伤在于需要配备昂贵的设备以及用户是被拴在电脑附近的。而之前笔者的一篇文章也分析过移动设备最大的优点并不在于便携性,而是「无线」(观点详见这篇:Daydream 将会给消费版 VR 设备带来多大变化?)。Google I/O 大会上虽然没有拿出一体机,但却对于现存的移动 VR 平台做出了种种优化。单凭这一点,我们不难发现,「无线」VR 设备是多么的重要——毕竟谁也不想被各种数据线绊倒。
如果这项技术真能被运用到移动 VR 上,那么兼容 Daydream 平台的产品可能是第一批受益者。三星的 Gear VR 毫无疑问代表的是当下体验最佳的移动设备。虽然 Gear VR 本身不算贵,但是一台 Galaxy 旗舰设备的价钱已经超出了大部分人的购机预算了。
Daydream 平台虽然也有自己的一套标准,相较于 Gear VR 而言,可能要低一些,但如果看过我们这篇文章的读者(如何自己动手做开发者版 Daydream VR 设备?),肯定能得出这样的结论,Daydream 平台的最低标准至少是准旗舰级的设备。若 FLASHBACK 技术能得到推广和运用,则能拯救相当一部分中端机的用户——让他们也能体验到良好的 VR 设备。说到这里,我们似乎能感受到微软「普济天下」非旗舰机用户的苦心了。
不过 FLASHBACK 这项技术,还有很多不成熟的地方。在它成熟之前,微软也不会让这项技术轻易走出实验室——另外,还有一个让我们十分期待的问题:微软,将来你会自己整一个 VR 头盔吗?