VR ATW原理

ATW(异步时间扭曲) 是一种专为虚拟现实(VR)和增强现实(AR)设备设计的底层渲染优化与中间帧生成技术。它的核心目的是在 GPU 渲染性能不足、无法稳定维持目标帧率(如 90 FPS)时,通过生成"补偿帧"来消除画面抖动(Judder)并降低运动到光子延迟(Motion-to-Photon Latency),从而有效缓解用户的晕动症。

从技术实现机制上,ATW 包含以下三个核心特征:

  1. 异步双线程架构(Asynchronous) :

    ATW 运行在一个独立于主渲染线程的高优先级线程中。主渲染线程(生产者)负责生成场景图像,而 ATW 线程(消费者)在每次垂直同步(VSync)信号到来前异步工作,两者互不阻塞。

  2. 基于位姿的重投影(Timewarp) :

    当主渲染线程未能按时完成新一帧的渲染时,ATW 线程会截取上一帧已渲染完成的图像,并结合设备传感器(如陀螺仪)提供的最新头部旋转位姿(6DoF),对原图像进行像素级的 2D→2D 单应性变换(Homography Reprojection)。这使得画面能够精准匹配用户当前的视线朝向。

  3. 动态帧率补偿(Frame Interpolation) :

    通过这种"旧图+新位姿"的扭曲计算,ATW 能够无缝填补因渲染卡顿而丢失的帧。例如,当游戏渲染掉帧至 45 FPS 时,ATW 能够实时生成中间帧,使最终输出到屏幕的帧率依然保持在 90 FPS,从而维持视觉上的极度连贯性。

1 发送信息给渲染应用

VR采集当前的时间戳ts 和 位置6dof信息,发送给渲染应用

2 本地保存信息

将采集的时间戳ts和位置6dof信息,保存到本地缓冲map,key=ts value=6dof

3 渲染应用生成数据

渲染应用根据6dof生成图像image,并将生成的image和对应的ts回传给VR设备

4 重新组合渲染素材

VR设备将收到的ts+image和第2步保存的map重新合成为素材队列queue。

该队列元素包含:ts+Image+6dof信息。

5 渲染时取素材逻辑

在图形渲染时,从buffer queue中拿取元素。如果队列中不存在元素时,使用上一次拿取的元素。

6 重投影

根据队列素材(ts+Image+6dof)和当前位置信息(current 6dof)对图像进行重投影。

参考我的另一篇文章: VR视频渲染-重映射-CSDN博客

相关推荐
架构师伯子明2 天前
VR视频渲染-重映射
vr
Spatial3Ddddd3 天前
博物馆做VR全景好看之外还要能留档
json·vr
Liuruping044 天前
建筑项目 VR 安全体验馆采购,如何评估厂商交付与售后能力?
安全·microsoft·vr
MIXrer5 天前
告别护具泥地与天气掣肘:超元力灰烬行动重构 VR 真人 CS 竞技体验
人工智能·vr·娱乐
chaoyuanl9 天前
从平面到包裹:超元力飞行影院如何构建“人在景中、身随景动”的感知闭环
人工智能·科技·平面·xr·vr·娱乐
chaoyuanl9 天前
超元力VR大空间CS项目落地解决方案:五大选购要点,开店全程扶持
大数据·人工智能·vr
Jmyd012310 天前
VR全景线上展会制作流程技术解析:全景采集、点云重建与Web端渲染优化实战
前端·javascript·vr·三维数字化
Jmyd012314 天前
用 Web VR 引擎搭建 3D 虚拟展厅:从素材上云到多端实时渲染的完整数据链路
前端·3d·vr·三维数字化
每日出拳老爷子21 天前
【VR】【Unity】抓走转放系列21|一天搭完门和抽屉工具槽:小场景按这个次序拼装
unity·vr·驱动·排错·snap zone