眾所周知,Quest 2極為嚴格的控制SoC運行頻率,目的就是保證整機的“散熱性能”,說白了就是發熱不能嚴重、風扇噪音不能大。這也是VR頭戴設備中降低用戶體驗的兩個關鍵指標。
對于Quest 2很直接的一個優勢就是,用戶大多時候聽不到狂轉的風扇噪音。不過,Meta在最新的v55系統中進一步釋放了Quest 2和Quest Pro的頻率限制,CPU、GPU都有大幅提升,這些能力可以提升游戲幀率或渲染分辨率,對體驗提升都有重要作用。
(資料圖)
那么,剛剛發布的蘋果Vision Pro是如何進行控制和管理的呢?
根據現場已經體驗的媒體反饋,大部分人反饋Vision Pro發熱不明顯。準確的說,這句話缺少“場景”描述。因為Vision Pro的演示中大部分都還是以2D場景為主,如果在2D場景下還發熱明顯,那顯然不是蘋果的實力,更會被大家看笑話。因此,更應該看的是Vision Pro運行3D應用時的發熱表現。
這幾天我也看了WWDC關于visionOS的相關課程,其中發現visionOS對于App分類有三種:
1. Windows,也就是窗口類2D內容,每個App可擁有多個窗口,支持調整大小; 2. Volume,輕量3D內容,支持2D窗口和3D內容混合顯示; 3. Space,專屬3D應用,開啟后隱藏其它App,并且支持在透視和沉浸模式切換。visionOS性能優化策略
雖然現在還不能體驗,但是我們通過其中一個課程(WWDC2023/10100)了解到visionOS對App功能和性能優化的內容,從中我們了解到更詳細的信息。
側重:visionOS中優先熱管理、而非續航; 路徑:分析你的App類型,找到優化方法; 目標:降低發熱、避免內容占用過大。和iPhone等移動設備上App的功耗的性能要求不同的是,在Vision Pro和visionOS系統中系統會實時更新,不管你的App的資源占用情況如何。
比如,只要用戶移動身體(轉頭、轉身等)、挪動手、轉動眼睛等動作,系統就需要實時渲染出每一幀,也就是內容是在實時更新的。再比如,多任務場景中空間算法也實時運行,以此保證用戶同時運行多個應用的交互和視覺效果。
和移動平臺中優化性能的邏輯有些不同,visionOS中概念和優先級發生了變化:優先考慮散熱性能,而不是電池續航或壽命。很顯然,這一點上蘋果和Meta策略是一致的。
權重方面,不同于iPhone上后臺“掛起”影響相對較小,在visionOS中,即便是短暫的暫停、卡頓會對體驗破壞性的影響。
visionOS性能優化的核心:渲染、交互、ARKit、音頻視頻播放、SharePlay、以及避免來自系統層面的停止運行。
渲染方面,visionOS渲染幀率默認為90(支持更高幀率),因此應該避免渲染延遲情況。對比其它平臺優先側重UI和動畫流暢性,visionOS考慮的更多比如:
1,應用單獨運行時的功耗; 2,在與其它App同時運行時的功耗; 3,在復雜交互時的功耗; 4,在播放視頻和音頻,如FaceTime、或Personas時的功耗; 5,如果是iOS應用,也需要進一步分析和優化。當然,里面提到了很多內容涉及渲染優化部分,這里主要提取一些重要的點。
1,渲染目標是確保延遲更低,減少幀丟失。需要從SwiftUI、UIKit,或者RealityKit、Metal分別進行優化。 2,交互方面,因為visionOS刷新率在90Hz或更高,因此最佳輸入延遲要<8ms。另外,要盡可能減少內容之間的重疊。 3,SharePlay要避免在多個設備之間同步傳輸大量渲染工作,避免熱堆積以及附帶的降頻問題。 4,提醒:設備過熱、系統內存不足等,會出現App終止運行的情況。這就需要,在設備過熱時降低復雜的渲染和計算。對此,蘋果還提供了Metrickit和Xcode Organizer等性能分析工具,進一步幫助開發者優化自己的應用。
參考:Apple
責任編輯:Rex_12