1
本文作者: haoxiaoru | 2016-01-16 18:35 |
周三(1月13日),幾波科技記者陸續(xù)來到國(guó)貿(mào)附近的一間酒店,體驗(yàn)最新的 Oculus Rift 和 HTC Vive 設(shè)備?;顒?dòng)組織者并非這兩家公司,而是圖形芯片巨頭 Nvidia。熟悉VR的人都知道,這項(xiàng)跨時(shí)代的技術(shù),對(duì)于圖形計(jì)算力的需求也提升了一個(gè)量級(jí)。處于產(chǎn)業(yè)鏈上游的圖形芯片廠商,在VR技術(shù)上做了什么?
首先,根據(jù) Nvidia 提供的數(shù)據(jù),“沉浸式VR體驗(yàn)對(duì)性能的要求是普通游戲PC的7陪?!盤C游戲以1080p分辨率和30FPS刷新率為技術(shù)數(shù)據(jù),而VR游戲的實(shí)際渲染分辨率為1512×1680×2,刷新率需要達(dá)到90FPS,才能帶來良好的體驗(yàn)。否則,無(wú)法保證畫面的清晰度和畫面移動(dòng)時(shí)的細(xì)節(jié)。其次,沉浸式的VR體驗(yàn)必須保證延遲時(shí)間,也就是用戶做出頭部運(yùn)動(dòng)到看到相應(yīng)反饋時(shí)間,不得超過20ms。否則,人的大腦就會(huì)因無(wú)力計(jì)算而發(fā)生錯(cuò)亂,臨床表現(xiàn)就是頭暈、頭暈、頭暈。
Nvidia 推出的 Gameworks VR 開發(fā)平臺(tái),提供了 5 種圖形渲染方面的技術(shù),分別是:Multi-res shading(多分辨率著色)、VR SLI(多顯卡渲染)、Context priority(上下文優(yōu)先級(jí))、Direct mode(直接模式)和Front buffer rendering(前緩沖渲染)。接下來,容我用通俗的語(yǔ)言科普下,等你下次再談?wù)揤R的時(shí)候,也能看起來懂得更深一些。
這項(xiàng)技術(shù)的基本原理是,將圖形渲染與VR頭盔的光學(xué)變形情況結(jié)合起來。VR頭盔貼近眼球,所以需要一組鏡片幫助用戶對(duì)焦。因?yàn)殓R片的存在,會(huì)導(dǎo)致畫面發(fā)生畸變,所以需要對(duì)畫面進(jìn)行畸變補(bǔ)償。
畸變補(bǔ)償?shù)漠嬅嫠栊畔ⅲ菺PU渲染出的畫面要少很多(鏡片光路損失一部分,同時(shí)人眼對(duì)視覺中心比邊緣看得更清楚)。所以 GPU 本質(zhì)上做了很多無(wú)用功。Multi-res shading 要做的事情就是,把每一幀的畫面分成多個(gè)部分,中間保留更多細(xì)節(jié),而邊緣保留較少細(xì)節(jié)。換個(gè)角度就是壓縮畫面,從而提升渲染速度。
多顯卡渲染技術(shù)原理很簡(jiǎn)單,就是支持兩個(gè)GPU同時(shí)渲染左眼和右眼畫面。
上下文優(yōu)先級(jí)不太好理解。舉個(gè)例子,如果轉(zhuǎn)頭過快的話,新位置的畫面還沒渲染出來,或者出現(xiàn)的是前一個(gè)位置的畫面,就會(huì)引起不適。怎么解決這個(gè)問題呢?技術(shù)專家想到一種方法,即人為插入一個(gè)根據(jù)位置計(jì)算出來的幀來占位。GPU 需要一個(gè)獨(dú)立的線程來做這件事,強(qiáng)在下一幀出現(xiàn)之前占位,從而減少畫面的延遲(或因?yàn)榈魩鸬亩秳?dòng))。
直接模式需要 Windows 操作系統(tǒng)的配合。它的意思是,之前將VR頭盔連接到電腦上的時(shí)候,電腦將其識(shí)別為一臺(tái)擴(kuò)展顯示器;而 Direct mode 可以讓電腦將 VR 頭盔識(shí)別成一種新型的專用顯示設(shè)備。好處見下。
前緩沖渲染技術(shù)原理跟直接模式是相關(guān)的。如果電腦把 VR 頭盔當(dāng)做普通的顯示器的話,就需要通過標(biāo)準(zhǔn)的兩級(jí)緩沖模式進(jìn)行渲染;識(shí)別成 VR 頭盔的話,就可以越過 Back Buffer 直接進(jìn)入 Front Buffer,減少延遲。
另一家GPU大廠AMD的同類方案叫做 LiquidVR,同樣擁有上述技術(shù),不過在高端GPU市場(chǎng)份額上,最近幾年 Nvidia 領(lǐng)先。
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。