从充满活力的节奏游戏到自由度极高的角色扮演游戏,优质的 VR 体验应让用户全身心沉浸其中,而无需关注背后复杂的系统运作。然而,随着 VR 应用不断进化,场景愈发丰富、动态内容日益增多,维持稳定性能的挑战也与日俱增。哪怕帧节奏出现极其细微的不一致,都可能迅速引发画面卡顿,给用户带来不适,严重影响体验质量。
为了助力各类应用在复杂度提升的情况下依然保持流畅响应,Meta 推出了 FrameSync 帧时序同步功能,这是对 Meta Horizon OS 帧时序算法的一次重大革新。
在 v201 版本中,开发者可按照以下步骤开始测试 FrameSync;到了 v203 版本,FrameSync 将成为 Meta Horizon Store 应用的默认时序算法,取代 PhaseSync(开发者如有特殊需求,可选择退出使用)。
此前,PhaseSync 通过延迟应用渲染开始时间来降低头部位姿延迟,它依赖自适应帧时序、固定延迟和 AppSW 半速模式这三种不同模式。但在帧时间变化较大或应用以较低帧率运行时,这种模式容易遇到问题。
而 FrameSync 采用更先进的统计系统来处理帧时序和预测,不再需要多种模式。这种创新方式能有效减少过时帧数量,提升整体响应速度。不过,在功耗和温度方面可能会有轻微的预期性变化。
FrameSync 有助于稳定帧节奏,减少运动过程中的抖动和可见卡顿,通常还能带来更高的 FPS,让游戏画面更加丝滑流畅。连续的过时帧会破坏用户体验,FrameSync 不仅能降低过时帧出现的频率,还能减少可能中断体验的长序列过时帧,让游戏过程更加顺畅。更精准的预测能够减少用户运动与相应视觉更新之间的延迟,使交互感觉更加即时、灵敏,提升游戏的沉浸感。
Meta 将分阶段推出 FrameSync 功能,方便开发者在自己的内容中验证其表现:
v201 版本:开放给开发者进行测试。
v203 版本:成为所有 Meta Horizon Store 应用的默认设置。
如果你的应用对性能要求较高,如接近热极限、模拟运算量大、帧时间变化大,Meta 建议尽早开展测试,以便及时发现问题并调整。
开发者可以通过以下两种方式启用 FrameSync 进行测试:
在 ADB 终端中运行命令:adb shell setprop persist.oculus.useFrameSync 1
在应用的 AndroidManifest.xml 文件中添加特定元数据。
FrameSync 会增加应用交付的最新帧量,可能导致 CPU/GPU 使用率略有上升。根据工作负载和会话时长不同,这可能对电池续航和热行为(包括降频)产生轻微影响。
不过,大多数应用应该能够获得整体性能的改善,但每个应用的情况存在差异。如果 FrameSync 对你的应用产生不利影响,Meta 提供了退出机制,开发者可根据实际情况进行选择。
Meta 表示,后续将根据实际情况和开发者反馈不断对 FrameSync 进行迭代优化,确保在 v203 版本中默认切换能够为开发者和用户带来尽可能顺利的体验。