本月早些時候在蘋果公司的年度WWDC大會上,該公司推出了他們最新的操作系統(tǒng)macOS Mojave(10.14)。由于本月晚些時候作為公開測試版推出,因此Mojave為Apple的Metal graphics API帶來了進(jìn)一步的VR特定優(yōu)化,該公司在WWDC的會議中詳細(xì)介紹了該優(yōu)化。
在WWDC會議期間,在題為Metal for VR的主題演示中,來自Apple軟件架構(gòu)團(tuán)隊(duì)成員的KarolGasiński向開發(fā)者介紹了最新的VR優(yōu)化(MacOS Mojave(10.14)),并概述了開發(fā)人員應(yīng)該如何考慮優(yōu)化他們的VR游戲圖形管道。他還宣布,Mojave將為Vive Pro提供“即插即用支持”。
以前,如果開發(fā)人員想要利用MSAA渲染,他們需要為每只眼睛使用專用紋理,這會使繪制調(diào)用次數(shù),渲染過程和解決步驟數(shù)量翻倍。如果開發(fā)人員選擇不使用MSAA,Gasiński說,他們必須根據(jù)他們想要達(dá)到的目標(biāo)選擇不同的渲染布局。
Gasiński表示“沒有任何缺點(diǎn),其他渲染布局的所有好處”。它通過提供渲染空間,視圖計(jì)數(shù),和抗鋸齒模式。這意味著開發(fā)人員可以依靠單一渲染布局來適應(yīng)任何情況,并且具有單次繪制,渲染和解析渲染的好處。
Gasiński進(jìn)一步宣布了一種新的跨進(jìn)程紋理共享功能,該功能允許共享具有復(fù)雜結(jié)構(gòu)的金屬紋理(如多采樣,深度存儲或包含mip貼圖)。以前,只有簡單的2D紋理可以在進(jìn)程間共享。新功能允許跨進(jìn)程共享任何金屬紋理。
這些變化還允許VR合成器,調(diào)整紋理的過程在VR頭戴式頭顯上正確顯示,在一次渲染過程中對雙眼進(jìn)行扭曲調(diào)整。總的來說,這些變化簡化了從應(yīng)用程序到頭顯的渲染流水線,正如Gasiński所示:將立即提供給Mojave上的原生VR應(yīng)用程序開發(fā)人員,并有可能最終看到Unity和Unreal Engine等開發(fā)工具的支持。
簡而言之,Gasiński談到了高級幀調(diào)整技術(shù),他說開發(fā)人員應(yīng)該使用多線程,拆分命令緩沖區(qū),分離姿態(tài)依賴和姿勢獨(dú)立工作負(fù)載,按照更新頻率分開工作負(fù)載(從多GPU配置中受益),并確保每個GPU都有獨(dú)立的渲染線程以確保異步渲染。
后者是一種受益于多GPU配置的結(jié)構(gòu),對于蘋果而言通常是獨(dú)一無二的,因?yàn)樵摴緦ν獠縂PU和多GPU系統(tǒng)的支持日益增加。即使在Macbook使用eGPU進(jìn)行VR渲染的情況下,如果應(yīng)用程序的渲染管道結(jié)構(gòu)適當(dāng),Macbook的內(nèi)部GPU可以為整體工作負(fù)載做出貢獻(xiàn),盡管它本身不足以運(yùn)行VR應(yīng)用程序它自己的。目前大多數(shù)基于PC的VR應(yīng)用都是在假定所有工作都將在單個GPU上完成的情況下構(gòu)建的。
總體而言,這些技術(shù)旨在最大限度地減少閑置的GPU時間,在可用于渲染的有限時間范圍內(nèi)盡可能完成盡可能多的工作。
來源:913VR