meta 近日宣布,將為旗下 Quest 頭顯的 Horizon OS 系統(tǒng)引入一項名為 frameSync 的全新幀時間調(diào)度算法。該算法旨在通過優(yōu)化畫面渲染流程,顯著提升 VR 體驗的流暢度與穩(wěn)定性,同時減少卡頓現(xiàn)象,為用戶帶來更沉浸的虛擬現(xiàn)實體驗。
在傳統(tǒng) VR 游戲或應(yīng)用中,系統(tǒng)通常采用固定延遲渲染方式。這種方式會盡早啟動幀渲染,以確保畫面在屏幕刷新時準(zhǔn)備就緒。然而,由于頭部追蹤數(shù)據(jù)可能已相對過時,這種延遲可能導(dǎo)致玩家出現(xiàn)暈動癥狀,影響整體體驗。
此前,Quest 頭顯使用的是 Phase Sync 幀時間調(diào)度算法。該技術(shù)首次亮相于 Quest 2 時代,最初作為開發(fā)者可選功能,后逐步集成至系統(tǒng)。其核心目標(biāo)是降低“運動到光子延遲”,即用戶動作與畫面更新之間的時間差。通過預(yù)測渲染所需時間并智能延遲渲染開始時機,Phase Sync 實現(xiàn)了頭顯追蹤數(shù)據(jù)與渲染畫面的同步,有效減少了延遲感。
然而,Phase Sync 算法存在一定局限性。它主要基于最近幾幀的渲染情況進(jìn)行簡單預(yù)測,當(dāng)場景復(fù)雜度突然變化時,例如玩家從簡單場景快速轉(zhuǎn)向復(fù)雜區(qū)域,渲染負(fù)載的增加可能導(dǎo)致掉幀。若此類情況頻繁發(fā)生,系統(tǒng)甚至?xí)詣咏迷撍惴ǎD(zhuǎn)而采用固定延遲模式進(jìn)行渲染。
針對這一問題,meta 推出的 frameSync 算法采用了更為穩(wěn)健的統(tǒng)計預(yù)測系統(tǒng)。該系統(tǒng)不再僅依賴最近幾幀數(shù)據(jù),而是綜合更多因素進(jìn)行判斷,從而實現(xiàn)了更精準(zhǔn)的預(yù)測。meta 聲稱,這種預(yù)測方式幾乎無需回退至固定延遲模式,能夠顯著提升畫面流暢度。
目前,frameSync 算法已在 Horizon OS v201 穩(wěn)定版中向開發(fā)者開放。開發(fā)者只需在應(yīng)用的 AndroidManifest.xml 文件中添加 com.oculus.enable_frame_sync 元數(shù)據(jù),即可啟用該功能。從 Horizon OS v203 開始,meta 計劃將 frameSync 設(shè)為 Horizon Store 應(yīng)用的默認(rèn)機制。不過,開發(fā)者仍可根據(jù)需要選擇關(guān)閉該功能,因為 frameSync 在某些情況下可能增加 CPU 和 GPU 的負(fù)載。
盡管更高的渲染吞吐量通常意味著更好的表現(xiàn),但也可能帶來更高的功耗和溫度。在極端情況下,這甚至可能觸發(fā)設(shè)備的熱降頻機制,導(dǎo)致整體性能下降。不過,meta 表示,這種情況預(yù)計較為少見,大多數(shù)游戲和應(yīng)用在啟用 frameSync 后仍將獲得整體性能和體驗的提升。









