戴上VR就晕,别只怪帧率:虚拟现实技术研发里那本延迟暗账
上周在实验室,同事老陈戴着新头显走了三步,突然摘下来,扶着桌子骂了一句。画面挺清楚,纱窗感也不重,他偏说“像坐船”。帧率表挂在旁边,90帧,稳得很。真晕。不是玄学。
这类问题,在虚拟现实技术研发里太常见。大家爱看分辨率、刷新率、视场角,参数一排排,很热闹。可戴上就晕,往往不是画面“假”,是延迟和追踪在背后捣鬼。
晕,不一定是画面太假
晕,不一定是画面太假
先拆一下晕动症。人眼看到自己在走,前庭系统却说身体没动。两个信号打架,大脑就犯恶心。VR把这种冲突放大了。画面越真,冲突有时候越尖。
这里面有个词,MTP延迟——从你转头,到头显里画面跟着变,花了多久。不是刷新率一个数能概括。传感器采样要时间,渲染要时间,合成要时间,屏幕扫描也要时间。每段几毫秒,攒起来就肉疼。
有人盯着20毫秒说事。说实话,阈值没那么死。个体差异大,内容也挑人。快速转头、侧移、蹲起,比坐着看全景视频苛刻得多。一个稳定、可预测的延迟,比忽高忽低的“平均延迟”更友好。抖动才是刀子。
还有追踪。六自由度,说白了就是前后左右上下,加三个方向的转。头显里IMU测角速度,摄像头看环境,SLAM把画面里的特征点连成地图。融合靠滤波。哪一路慢了、错了,画面就漂。你头停了,世界还在滑。晕。
延迟藏在管线的缝里
把一帧画面想成快递。传感器下单,预测算法猜你下一步要往哪看,渲染器把货打包,合成层再按最新姿态贴单,显示扫描发货。哪个环节磨蹭,用户都能感觉到。
ATW,异步时间扭曲,就是货已经打包了,骑手出发前按最新地址再扭一下画面。ASW更狠,旧帧不够就合成新帧。救急可以,别当饭吃。扭多了,边缘会糊,文字会抖,快速转头时尤其明显。
VR头显低延迟渲染管线示意图
预测算法也难。它得猜你0.02秒后的姿态。猜准了,延迟被“藏”起来;猜错了,过冲、回弹,像开车猛打方向。人眼对回弹很敏感。你停,它晃,完蛋。
无线串流又是另一笔账。编码、传输、解码,每一步都加延迟。家里路由器一抖,画面就卡成PPT。有些方案用切片、补帧、动态码率硬撑,体验能救回来一些,但动作类内容还是露馅。
实验室里那些“玄学”故障
南京梅雨天,实验室地毯返潮,纹理弱了一截。头显的inside-out摄像头开始犯迷糊,走两步漂半步。换块纹理清楚的地垫,好了。你说这算算法问题还是环境问题?都算。
手柄也爱闹。放在身后,摄像头看不见,IMU还在积分,位置就慢慢飘。拿回身前,画面“啪”一下吸回去。用户以为见鬼。其实是遮挡和融合策略的锅。做虚拟现实技术研发,别只在工位上测。走起来,转身,蹲下,把手柄举过头顶,再扔到沙发缝里试试。
VR六自由度手柄室内定位追踪场景图
我们还遇到过眼动追踪的延迟。注视点渲染省算力,眼睛看哪,哪里高清,周边糊一点。想法很妙。可眼动数据慢半拍,用户快速扫视时,高清区追不上,画面像有人拿抹布擦过。省了GPU,丢了体验。懊恼。
参数表不会告诉你的事
参数表不会告诉你的事
分辨率高,不等于清楚。PPD,每度像素数,跟透镜、视场角一起决定观感。FOV大,沉浸感强,但边缘畸变和像素密度更难平衡。重量、散热、续航,全在打架。一体机里塞一堆算力,风扇一响,佩戴体验先掉一半。
常见误解:晕就是帧率低。不全是。帧率稳、延迟低、追踪稳,三条腿缺一条都晃。另一个误解:内容越真实越不晕。未必。写实场景里快速移动,视觉冲突更猛。反而是一些风格化内容,用瞬移、隧道视野、固定参考物,把不适感压下去。
风险也得说。头显摄像头越来越多,空间扫描、手势识别、眼动数据,隐私边界要画清楚。长时间佩戴的卫生、散热、眼疲劳,别拿“沉浸”两个字糊弄。晕动症个体差异大,别用一句“多练练”打发用户。
下次试VR,别只看清晰度。走两步。快速转头。把手柄放到背后再拿回来。看画面跟不跟手,世界稳不稳。虚拟现实技术研发的功夫,很多不在参数表上,在那些没人拍照的暗处。