[No.H100]
Unity 2019.3已經提供面向Oculus Quest的實驗性Vulkan支持。
1. 什么是Vulkan
Mobile VR從一開始就將OpenGL ES作為圖形API,但諸如Vulkan的底層API為開發(fā)者提供了更大的靈活性和更低的渲染開銷。Vulkan是一個相當新的圖形API,具有眾多令其優(yōu)于OpenGL ES的功能。
與OpenGL ES不同,Vulkan是無狀態(tài)API,這意味著驅動在指令之間不需要存儲任何底層狀態(tài)。Vulkan驅動幾乎不執(zhí)行錯誤檢查,所以每當提交繪制調用或任何命令時,工作量都將大為減少。Vulkan的靈活性優(yōu)勢對VR開發(fā)者而言非常有價值。Vulkan為開發(fā)者提供了增強的性能和控制,對Quest而言是非常有吸引力的圖形API。
更多關于GL和Vulkan之于Mobile VR的不同,請參閱映維網早前分享的博文:研發(fā)實戰(zhàn):如何在Oculus Mobile VR平臺進行Vulkan開發(fā)
2. 為什么是實驗性質?
之所以標記為實驗版本,這是為了說明其依然存在一系列的問題,質量和性能尚未準備好支持已發(fā)行的Quest應用。Oculus計劃利用這段實驗時期來采集社區(qū)對于性能和穩(wěn)定性的反饋。
這個版本包括一系列的高級渲染功能:多視圖和固定注視點渲染(Fixed Foveated Rendering;FFR)。另外,借助上述Vulkan的性能優(yōu)勢,Oculus預計未來數月最終將能夠實現約10%的CPU渲染成本優(yōu)化。
但是,目前尚不能保證所有應用程序都能獲得上述的性能優(yōu)化,所以Oculus將其標記為實驗版本。實際上,對于當前的2019.3版本,Vulkan之于某些應用程序的性能可能要比GL稍差。Oculus已經確定了一些性能瓶頸和優(yōu)化機會,并希望在不久的將來性繼續(xù)予以提升。
如果你要開始一個新項目或者希望嘗試所述新功能,你可以使用Vulkan并向Oculus報告可能遇到的錯誤。這可以幫助團隊繼續(xù)優(yōu)化改進。Oculus目前正在努力解決已知問題并提升穩(wěn)定性。
解決功能和性能方面的錯誤后,Oculus將刪除實驗性標簽,而Vulkan將成為官方推薦的Quest開發(fā)圖形API。
3. 為Quest啟用Vulkan支持
Unity 2019.3正在轉向新的XR Management模型。當結合使用Oculus XR Plugin和XR Plugin Management系統(tǒng)時,2019.3以后將僅提供Vulkan支持。要啟用Vulkan,你需要對設置進行一定的改動,并且現有項目應該能夠輕松轉換為新的XR Management系統(tǒng)。
首先,請導航至Package Manager,并確保未安裝“Oculus Android”軟件包。接下來,在Project Settings下轉到“XR Plugin Management”。確保選擇Android選項卡。安裝“Oculus XR Plugin”,并在“Plugin Providers”區(qū)域選擇“Oculus Loader”。最后,要配置特定于Oculus的設置,請導航至“Oculus”選項卡(下圖左下角)。
選擇Vulkan作為圖形API,請導航至Project Settings->Player->Other Settings->Graphics APIs,然后將Vulkan作為第一選擇。
4. 結合使用Vulkan與Universal Render Pipeline(URP)
目前,將URP與Vulkan一起使用并不完全穩(wěn)定,并且可能存在功能和性能錯誤。在使用Vulkan時,URP功能會稍微落后于內置的RP功能,這是由于與URP相比,當前使用內置RP的Quest開發(fā)者數量眾多。但是,Oculus將URP視為未來的重中之重,并且希望在接下來的幾個月中穩(wěn)定兩者的結合使用。
換句話說,Vulkan僅支持于幾周后發(fā)布的URP 7.2.0軟件包。
5. 已知的Unity Vulkan問題
零星的FFR閃爍錯誤*
使用Multiview時執(zhí)行清除操作可能會產生渲染偽影(影響初始屏幕)*
在某些情況下,將Multiview與內置RP一起使用會退回到多通道渲染
文本/SDF著色器尚不適用于Multiview
深度緩沖區(qū)正在解析(存儲),導致每幀1-3ms的GPU成本
內存使用沒有完全優(yōu)化。對于MSAA應用,最多可容納約150-250MB的額外內存
當重新分配眼睛紋理時,內存泄漏為25-50MB
混合現實捕捉無效*
URP不穩(wěn)定*
Compositor層(OVROverlay)無效
Graphics Jobs不穩(wěn)定
目前尚不完全支持Perf工具
注:末尾的“*”表明問題已修復,并等待推出。
6. 問題回答
問:Vulkan是否能夠改善我的應用程序的GPU性能?
答:幾乎所有情況都不會。Vulkan是用于生成GPU命令的圖形API。如果你的圖形API是OpenGL ES,GPU仍然必須以類似的方式執(zhí)行所述命令。但由于上述原因,CPU渲染線程性能肯定可以得到改善。
問:Oculus Go是否會支持Vulkan API?
答:遺憾的是,Oculus Go使用了較舊的GPU和圖形驅動,Oculus無法為Vulkan提供必要的穩(wěn)定性和性能。Oculus正在與圖形驅動提供商緊密合作,共同將Vulkan支持帶到Oculus Quest。
榜單收錄、高管收錄、融資收錄、活動收錄可發(fā)送郵件至news#citmt.cn(把#換成@)。
海報生成中...