meta 近日宣布,将为旗下 Quest 头显的 Horizon OS 系统引入一项名为 frameSync 的全新帧时间调度算法。该算法旨在通过优化画面渲染流程,显著提升 VR 体验的流畅度与稳定性,同时减少卡顿现象,为用户带来更沉浸的虚拟现实体验。
在传统 VR 游戏或应用中,系统通常采用固定延迟渲染方式。这种方式会尽早启动帧渲染,以确保画面在屏幕刷新时准备就绪。然而,由于头部追踪数据可能已相对过时,这种延迟可能导致玩家出现晕动症状,影响整体体验。
此前,Quest 头显使用的是 Phase Sync 帧时间调度算法。该技术首次亮相于 Quest 2 时代,最初作为开发者可选功能,后逐步集成至系统。其核心目标是降低“运动到光子延迟”,即用户动作与画面更新之间的时间差。通过预测渲染所需时间并智能延迟渲染开始时机,Phase Sync 实现了头显追踪数据与渲染画面的同步,有效减少了延迟感。
然而,Phase Sync 算法存在一定局限性。它主要基于最近几帧的渲染情况进行简单预测,当场景复杂度突然变化时,例如玩家从简单场景快速转向复杂区域,渲染负载的增加可能导致掉帧。若此类情况频繁发生,系统甚至会自动禁用该算法,转而采用固定延迟模式进行渲染。
针对这一问题,meta 推出的 frameSync 算法采用了更为稳健的统计预测系统。该系统不再仅依赖最近几帧数据,而是综合更多因素进行判断,从而实现了更精准的预测。meta 声称,这种预测方式几乎无需回退至固定延迟模式,能够显著提升画面流畅度。
目前,frameSync 算法已在 Horizon OS v201 稳定版中向开发者开放。开发者只需在应用的 AndroidManifest.xml 文件中添加 com.oculus.enable_frame_sync 元数据,即可启用该功能。从 Horizon OS v203 开始,meta 计划将 frameSync 设为 Horizon Store 应用的默认机制。不过,开发者仍可根据需要选择关闭该功能,因为 frameSync 在某些情况下可能增加 CPU 和 GPU 的负载。
尽管更高的渲染吞吐量通常意味着更好的表现,但也可能带来更高的功耗和温度。在极端情况下,这甚至可能触发设备的热降频机制,导致整体性能下降。不过,meta 表示,这种情况预计较为少见,大多数游戏和应用在启用 frameSync 后仍将获得整体性能和体验的提升。

