VR头显参数解谜——分辨率篇
admin
2023-06-24 07:20:36
0

都说VR设备坑多水深,但在这些坑里最容易被误解,也最容易被忽悠的当属头显屏幕分辨率。这个坑来源于VR头显屏幕和普通屏幕的一个关键区别,VR头显我们不是肉眼直接看屏,而是通过透镜,看一个尺寸被放大后的屏。这个透镜的加入,直接导致我们以前用来衡量屏幕的一些参数都不通用了。关于这一点,一个比较经典的例子就是单眼分辨率只有960*1080的PSVR,其清晰度反而高于单眼分辨率为1080*1200的HTC Vive.

本文分两部分,第一部分解答在头显选购时,如果正确看待VR屏的分辨率参数。第二部分重点解释PC端VR游戏的渲染分辨率。已经入坑的同学可直接跳到第二部分。

一、VR头显那感人的清晰度和水分十足的分辨率

VR头显独有的“身临其境”体验来自于其标配的虚拟巨屏(如PSVR相当于2.5米距离看一个226寸屏)和随头部移动实时更新的画面。要满足这两个要求,并且戴头上玩两小时脖子不断掉的话,用透镜把一个小屏放大可以说是现在唯一的解决方案。这个搞法,虽然屏的尺寸是放大了,但分辨率并没变,直接结果就是戴上头显后,我们又回到了以前肉眼可以直接看到单个像素的怀旧年代。例如下面reddit上玩家VRMAN66实拍后放大8倍的PSVR和HTC Vive 节奏光剑画面对比图:



不再吊胃口,现在我们解释帖子开头那个PSVR分辨率更低但比Vive更清晰的案例。原因是虽然两个头显用的都是OLED屏,但SONY的RGB屏每个像素有完整的红,绿,蓝子像素,而Vive的PenTile屏相邻的两个像素要共用红,蓝子像素,这么算下来,实际上两个屏的子像素总数如下:

HTC Vive: 2160x1200x2 = 5,184,000

PSVR: 1920x1080x3 = 6,220,800 (比上面多两成)

除了上面子像素加成,SONY的屏有传说中的“特殊”处理,更难看到像素之间的间距。

上面写这么多并不是在无脑吹SONY,,而是为了说明除了明面上的分辨率参数,还有很多影响VR头显最终清晰度的要素,比如子像素配置和排列方式、放大后的虚拟屏尺寸(这个也可以换个角度说成可视角度覆盖率),关于后面这一点,Oculus和HTC/Valve系头显的设计思路完全相反,在用同样的一块屏的情况下,Oculus更倾向于减小可视角度来增加放大后虚拟屏的像素密度,从而提高清晰度,而HTC/Valve会选择在画质可以接受的情况下,尽量把可视角度做大。

(其实SONY在VR行业里还真应该多吹下,虽然没全力投入,但单从硬件设计上来说,HTC和Oculus的头显相比之下简直就像是个大学生的毕业作品)

总的来说,选VR头显时不要被网上常见的参数流导购贴忽悠,以自己实际体验或玩家的对比感受为准。


二、轻松秒杀你新显卡的VR游戏渲染分辨率

Quest 2刚公布的时候,屏幕分辨率的大幅提升让人口水一地。后续头显到手,第一次进系统的时候,也确实让人眼前一亮,可惜的是用USB线连上PC进游戏后,实际画质提升,并没参数提升那么夸张。这个落差感,来源于PCVR游戏运行时的渲染分辨率,这有点类似你现在电脑性能只能跑1440p,突然给你塞个4K显示器,画质也不会有大幅改善。

相对于传统PC游戏,VR游戏的分辨率则要复杂很多。这也是为什么VR游戏里都很少会有一个明确的分辨率选项,而采用的是类似现在主机游戏里那种性能(帧数)和画质二选一的搞法。这里最反常的表现就是如果想100%利用屏幕的整个显示区域,你设定的渲染分辨率必须大于屏幕的原始分辨率,如果这两个参数一样的话,直接结果就是放大后的屏幕四周会有黑边。

要解释上面的骚操作,我们又得回到隔在人眼和屏幕中间的那块透镜。之前说过,这个透镜可以让我们用一个小屏轻松实现大屏才有视觉覆盖率,但这一搞法也同样遗传了画面被透镜放大后的拉伸变形。修正变型后的画面,多年来一直是靠组合镜片式的硬件方案,这种搞法头显体积很难做小,同时可视角度也很难做大,直到牛人Palmer Luckey完善了纯软件逆向修正画面的新玩法。Palmer的思路是这样的:既然透镜会把画面拉伸变型,那我提前把渲染好的画面反向压缩后显示在屏幕上,就刚好抵消透镜的拉伸效果。



上图右边是画面没任何“修正”情况下,直接用透镜放大的结果。



上图左边画面经过“压缩”处理,再被透镜拉扯后,正好得到右边的“正常”画面。下面再放一张Nvidia关于画面提前压缩的对比图:



现在我们可以回答为啥VR屏幕分辨率1比1显示时,渲染分辨率必须大于屏幕原始分辨率,上面Nvidia这个图就很明显,经过压缩处理后的图片不够铺满整个屏幕。

上面Nvidia的图只是压缩后的画面对比,我们现在用Oculus DK1为例,把修正后的画面放到屏幕上:




第三列红色方框为屏幕尺寸

上面这图可以看到, 以DK1的屏幕和透镜组合,只有渲染分辨率是屏幕分辨率的3.9倍时,压缩后的画面才能接触到屏幕的上下左右边缘,渲染分辨率是屏幕分辨率13.6倍时,才能消除整个屏幕的黑边,然而这个时候屏幕外的画面人眼完全看不到。Quest 2的镜片和屏幕组合肯定比DK1要进步很多,但官方给出的屏幕覆盖度率接触四周边缘时的渲染分辨率为5408*2736(这个就是Oculus Link 分辨率条拉满时的参数),是屏幕原始分辨率的2.1倍。

我们接着看下几个头显在Steam VR, Oculus 客户端和VD里的默认渲染分辨率:




以上参数为单眼分辨率

现在我们可以回答为啥从Rift S升级到Quest 2后,你在系统界面感觉画质有明显提升,但进游戏后,画质提升并没那么夸张,因为默认的渲染分辨率和原来相差不大。这个屏幕升级带来的最明显福利只是弱化了原来画面的颗粒感。这里正好也可以打醒那些戴着Rift S头显却眼红Quest 2屏分辨率的同学,如果是买来大部分时间只玩PCVR游戏的话,显卡没升级之前,可以打消这念头了。

最后再提醒下,Steam VR头显自行设定渲染分辨率时不要低于默认1.4倍屏幕原始分辨率。这个1.4倍不是超采样,而是头显屏上的画面分辨率,必须高于原始分辨率。个人建议采用默认的自动设定。

相关内容