late frame scheduling 也是一种解决方案,但其缺点在于它使得调度需求非常紧凑——通常情况下,late frame scheduling 需要一定的时间,并会造成电力浪费。不过如果你的帧率是由视频回扫决定的,而不是随机读取视频片段,那么通过图片驱动辅助确定目前需要扫描输出的准确位置,也会有助于降低延迟。
避免渲染全部重新编码
另一个与 late frame scheduling 一样,可以降低延迟的方法是:允许渲染编码根据底层的游戏编码,以及用户输入的最新样本,修正输入到渲染编码中的参数(这种方法称之为 View bypass)。对比用户前后输入样本,设备可以确定出哪一个是用户输入的变量。而变量可以被用于修正游戏提交给渲染编码的视觉矩阵。
(, 下载次数: 28)
上传
点击文件名下载附件
下载积分: 贡献 -1
这种变量处理的方式可以最小化处理的复杂程度,不过游戏中也经常会有无需用户输入的渲染场景,比如经典镜头的剪辑或者玩家死亡的情形。一个为 VR 而生的游戏应该是否应该避免这样的情形尚有争议,因为在 HMD 里一个无法响应的视角是会让人感到迷惑或者不快,但在传统游戏设定里会有很多这样的场景,这样的场景很常见。
合理安排每一帧的渲染时间
如果我们能知道渲染一帧具体需要花费多长时间,那么一些额外的延迟可以通过整个渲染任务的 late frame scheduling 来节省下来,但这显然不实际,因为渲染时间难以预估。但渲染好的图像后是可以往后安排处理任务的,并且能争取到一段可预测的时间,从而使得 late fram scheduling 更容易。(这一方法被称之为 time warp) (, 下载次数: 16)