Ultra超級戰(zhàn)艦!映眾GTX970冰龍?jiān)u測
除了硬件架構(gòu)的革新,此次NVIDIA還宣布了不少最新的軟件技術(shù),很多業(yè)內(nèi)人士喜歡稱之為NV的黑科技!
速度與畫質(zhì)一直都是3D游戲追求的兩大終極目標(biāo),但很多時(shí)候,速度與畫質(zhì)總是魚和熊掌不可兼得,想要開啟高級特效必然會(huì)損失幀數(shù)導(dǎo)致流暢度下降,因此就需要硬件廠商不斷的研發(fā)出性能更強(qiáng)的GPU,也需要軟件廠商研發(fā)出更高效率的圖形技術(shù)。
抗鋸齒(Anti-Aliasing,簡寫為AA)就是這樣一項(xiàng)很特別的圖形技術(shù),它能夠明顯的改善游戲畫面表現(xiàn)力,同時(shí)也會(huì)讓游戲幀數(shù)大幅下降。所以多年以來,不論是顯卡廠商還是游戲開發(fā)商,都在努力的改進(jìn)抗鋸齒效率,開發(fā)出新的抗鋸齒模式,讓游戲畫質(zhì)變得更好,同時(shí)也不至于讓性能損失太多。
所以,大家一定聽過或者見過以下這些抗鋸齒中的一種甚至多種,如:MSAA、CSAA、CFAA、FXAA、TSAA……今天筆者就為大家詳細(xì)解讀3D游戲中的鋸齒是如何產(chǎn)生的,回顧最常見的MSAA技術(shù)的原理和優(yōu)缺點(diǎn),最后介紹NVIDIA新開發(fā)的一種效率極高的抗鋸齒技術(shù)——MFAA。
● 為什么會(huì)產(chǎn)生鋸齒?
我們知道,顯示屏是由一個(gè)個(gè)方塊像素點(diǎn)組成的,這些方塊像素點(diǎn)在顯示斜向或圓形物體時(shí),會(huì)不可避免的在邊緣產(chǎn)生鋸齒狀的線條。就像馬賽克一樣,只不過是薄碼而已……
● 高分屏能否自動(dòng)消除鋸齒?
當(dāng)顯示器的分辨率或顯示屏的PPI(每英寸的像素?cái)?shù))足夠大時(shí),人眼將無法看清具體的像素點(diǎn),但相鄰像素之間的色彩差異也會(huì)產(chǎn)生明顯的錯(cuò)落感,高分辨率/PPI由于像素變得非常細(xì)膩,可以同比縮小鋸齒,但仍不能完全消除鋸齒。
● 抗鋸齒技術(shù)是如何抵抗鋸齒的?
前面說過,方塊像素顯示斜向或圓形物體時(shí),鋸齒是無可避免的,抗鋸齒也無法消除鋸齒,但它能通過欺騙人眼的方法,讓鋸齒的棱角顯得不那么明顯:
如上圖所示,方法就是對鋸齒所在位置的像素及相鄰像素進(jìn)行比對采樣處理,計(jì)算出該像素應(yīng)該顯示多少比例的灰階值,而不是“非黑即白”的顯示模式。比如4xAA就是對每個(gè)像素采樣4次,原本該像素只有0、1兩種顯示模式,開啟4xAA后就能顯示0、1/4、1/2、3/4、1五種模式。
如此一來,棱角分明的鋸齒邊緣,就會(huì)顯得比較模糊,色彩過渡比較自然,就不會(huì)那么刺眼了,鋸齒一定程度上被消除了。
● MSAA占據(jù)主導(dǎo)位置,4xMSAA使用最廣泛
MSAA的全稱是Multi Sampling Anti-Aliasing,多重采樣抗鋸齒。MSAA只對Z緩存和模板緩存中的數(shù)據(jù)進(jìn)行采樣處理,可以簡單理解為只對多邊形的邊緣進(jìn)行抗鋸齒處理,而忽略非邊緣像素(因此可能會(huì)在一些特殊位置殘留一些鋸齒)。這樣的話,相比SSAA對畫面中所有數(shù)據(jù)進(jìn)行處理,MSAA對資源的消耗需求大大減弱,因此MSAA在游戲中使用最廣泛,多年來一直占據(jù)主導(dǎo)位置。
通常在游戲中會(huì)提供2x、4x、8x三種抗鋸齒級別,一般最常用的就是4x這種模式,因?yàn)?x和8x的畫質(zhì)差別已經(jīng)很小了。
● 開啟抗鋸齒性能損失有多大?
可以看出,4x抗鋸齒雖然效果優(yōu)秀,但性能損失比較大,而2x性能損失最小,可以說效率最高。
● NVIDIA的黑科技:超高效能的MFAA
鑒于高倍MSAA性能損失較大的問題,NVIDIA在MSAA的基礎(chǔ)上開發(fā)出了一種“投機(jī)取巧”的技術(shù):Multi-Frame Sampled Anti-Aliasing(MFAA),從字面上來看它是MSAA的一個(gè)變種,可以翻譯為“”。
上圖為MFAA的工作原理,奇數(shù)幀在水平方向進(jìn)行一次2xMSAA采樣,偶數(shù)幀在垂直方向進(jìn)行另外一次2xMSAA采樣,然后通過軟件算法將其合成,最終的采樣結(jié)果與直接進(jìn)行4xMSAA沒有區(qū)別。
可能會(huì)有人擔(dān)心,對相鄰的兩幀進(jìn)行兩次2xMSAA采樣合成會(huì)不會(huì)造成畫質(zhì)損失,尤其是當(dāng)畫面運(yùn)動(dòng)幅度較大時(shí)?其實(shí)MFAA都是對物體邊緣進(jìn)行采樣,無論運(yùn)動(dòng)幅度多大都有固定的幾何軌跡,因此兩幀始終會(huì)在固定的像素點(diǎn)進(jìn)行合成,不會(huì)產(chǎn)生錯(cuò)亂,合成之后的采樣效果自然也不會(huì)與MSAA有啥區(qū)別。
● 4xMSAA的畫質(zhì)與4xMFAA完全相同,4xMSAA的性能接近與2xMSAA
4xMFAA的畫質(zhì)與4xMSAA沒有區(qū)別
當(dāng)然,通過算法將兩次2xMSAA合成為4xMFAA,性能肯定會(huì)有損失的,NVIDIA官方稱性能損失會(huì)在5%以內(nèi),這樣4xMFAA的性能自然會(huì)遠(yuǎn)超4xMSAA,只是略低于2xMSAA。同理可以實(shí)現(xiàn)8xMFAA的性能遠(yuǎn)超8xMSAA,略低于4xMSAA。
4xMFAA的幀數(shù)比4xMSAA高30%
通過這樣一個(gè)簡單而有創(chuàng)意的技術(shù),可以免費(fèi)讓NVIDIA顯卡的抗鋸齒性能提高30%,簡直逆天了!
關(guān)注我們
