我正在开发一个本机 OpenXR 应用程序。渲染帧需要通过网络传输到客户端,不可避免地会存在延迟。我计划使用姿势预测来减少延迟。不过,方法1和方法2似乎没有什么区别。利用OpenXR的姿态预测来获取头戴式显示器(HMD)的预测姿态的最佳方式是什么?
int64_t currentTimeNs = currentTimeNs();
int64_t PredictedThresholdTimeNs = 30 * 1000 * 1000; // 30 milliseconds
int64_t predictedDisplayTime = currentTimeNs; // method 1
int64_t predictedDisplayTime = currentTimeNs + PredictedThresholdTimeNs; // method 2
xrLocateSpace(view_space, stage_space, predictedDisplayTime, &viewSpaceLocation);
未来姿势预测是在尽力而为的基础上完成的。对于系统计算准确预测的未来时间范围来说,30 毫秒可能太长。
您可以尝试较小的时间增量。不同平台的结果总是会有所不同。您的特定系统也可能根本不进行未来姿势预测。