您的位置: 單機 > 攻略 > 常見問題 > 攻略詳情

古劍奇譚2 卡頓原因科學分析 技術(shù)宅帶你剖析優(yōu)化

時間:2013-07-22 10:00:53
  • 來源:阿澤
  • 作者:售夢者
  • 編輯:售夢者
0

接下來,簡單分析一下大家都比較關(guān)心的優(yōu)化問題,即“會導(dǎo)致‘卡’的一部分原因”。

渣優(yōu)化什么的,真的不想噴了。隨便一個簡單的場景就近千drawcall,完全沒有節(jié)制??傊褪歉鞣N浪費!次數(shù)多也就算了,很多物體還都是各種地面:

是地面也就算了。你說你就一平面!還是基本看不見的!你妹的!有必要用6144個頂點2048個面?????

當前幀繪制的第一個物體:

這是天空球……作為背景它的精度逆天了……

于是我決定必須要分析一下模型。

果然,天空(包括云層)就用了近2W面,略顯奢侈了,你這個畫面效果根本用不著如此浪費吖!

喔。我終于弄懂安全褲的發(fā)型了:

原來真的很像深海電鰩……

另外,我證實了安全褲是有胸的!雖然形狀有點奇特,但確實完整帶溝!

Good!

模型的質(zhì)量沒有太大的問題,但有些地方不是很均勻,比如無射的呆毛稍微有點費了。

可是脖子卻太省了點,轉(zhuǎn)起來很別扭。

(嗯,喉結(jié)不會動,這孩子肯定沒看過張學友唱歌~)

建筑方面也還不錯(雖然只可遠觀(因為面數(shù)不多))

重點來了。

首先,LOD和視錐體裁剪肯定是有的,但!請看:

還是之前的問題——你妹??!這地形就是一平面啊!你用將近四萬面渲染了40多個平面??!

真的,除了河道低一點之外,其它地方都是平的?。∥依諅€去?。?/p>

如果你這是起伏不平的山地我就不說了。我勒個去啊!

更要命的是,沒有任何occlusion culling——

圖中紅色箭頭是我當前所在位置和面對的方向??梢?,大多數(shù)渲染出來的對象我是看不到的。

比如這個大皮鞋,絕對是被建筑擋住、肯定在我的視線之外,但還是照樣無差別的被渲染出來了:

而且前面提到的LOD只限于地形,也就是說這里的LOD根本沒有任何作用、沒有任何意義……只能說“沒有LOD的話會更卡”而不能說“LOD可以提高效率”!

此時的大皮鞋還是被蓋住的狀態(tài),但!這個目前根本看不到的、就算看到也是被蓋住的模型——

它里面仍然是完整的!

我勒個去!后來的劇情里,就算我走到它跟前了,也看不到它的真容!——看不到的東西就不要了嘛!不要了嘛!這玩意也是兩萬多面的模型??!

類似的情況還有一些。比如大皮鞋附近的一個小攤,也是根本看不到的東西,也有16000多面的消耗:

再比如這些我看不到的樹,又是近15000面的浪費?。?/p>

而且數(shù)量還這么多……

Occlusion Culling不好做,我理解,但至少也應(yīng)該手動配一下,或者用四叉樹濾一下吧……基本的優(yōu)化還是有必要花點時間的。

總而言之,這一幀上千次DrawCall(可理解為對顯卡的消耗),其中至少2/3是渲染被遮擋的、看不到的物體,另外1/3中還包含有“超精細”的廢物地面網(wǎng)格。F**k!你們就這么喜歡讓顯卡做無用功???

對了,我說過:如果用同樣的方法渲染10000個面,那么“渲染十個1000面的模型”會比“只渲染一個10000面的模型”更慢。

然后,你看這些草,雖然只有2000多面,但竟有20多個物體:

這種情況下,應(yīng)該是物體越少越高效。

水邊的墻也是一樣,你又沒裁掉,沒必要分那么細吧:

著色方面。

先上一張SSAO的Pass:

效果是有的,不知為什么到了最終畫面中就不太明顯。

可能是最后合成做疵了。而且,貌似頭發(fā)沒有?哪路或多。X!這發(fā)型是最需要AO的,對吧……

別說沒做過就沒發(fā)言權(quán)??串斈旮绲腟SAO(下圖)做得多和諧、多自然:

有玩家反映陰影的開銷很大。我看了一下它的PixelShader,用掉130多個指令槽,果然是效率比較低的,這還只是像素。再加上需要把(幾乎)每個模型都投影到光源,因此……結(jié)果……就是現(xiàn)在這樣了。

如果你對著色器的instruction slot沒有概念,那么很簡單,slot用得越多=GPU的工作量越大。我們可以對比一下:

最爛的、效果最差的陰影貼圖,我試了一下,大概需要50個指令槽。

最常用的Blinn像素著色(基本上就是大家在游戲中見過最多的物體表面效果),在比較完整的、標準的情況下大約也是50個指令槽。

**2中多數(shù)的模型材質(zhì)的像素著色器,少則三四十、多則七八十。

**2的DOF(景深)大約只需要45個slot,因此這個不會太浪費。

而LightShaft雖然也僅有40多,但需要迭代多次,因此開銷會比較大。不過應(yīng)該是做了降采樣,所以尚可接受。

**2使用了Enhanced Subpixel Morphological Antialiasing(SMAA)。雖然SMAA需要150個指令槽,但它一幀只用一次,所以仍是比較高效的后期抗鋸齒。

至于頂點著色器,簡單說凡是會隨風擺動的模型,基本都在120個slot以上。不過,大家可以這樣理解:頂點的數(shù)量是比像素少很多的,如果不是**2在面數(shù)上的奢侈,這方面應(yīng)該可以表現(xiàn)得比較正常??上?,他們對基礎(chǔ)的重視還有待加強。

最后,大家要清楚,現(xiàn)在的貼圖精度,就算開到最高,也非常低。主角是很精致的,一張頭發(fā)都有1024*1024。但其它NPC整個人頂多也就256*256。

假如正式版更“高清”,那么壓力也會相應(yīng)提升。

其它的嘛……

**2在CPU方面還有很大的優(yōu)化空間?,F(xiàn)在八成還是有內(nèi)存泄露的可能性。具體就不多說了,主要是我不想花太多精力去評測一坨X。

以上僅代表我個人的觀點,因為我也只是粗略分析,所以肯定會有錯漏。希望大家不要太較真。

友情提示:支持鍵盤左右鍵"←""→"翻頁
6.9
已有72人評分 您還未評分!
  • 類型:角色扮演
  • 發(fā)行:北京網(wǎng)元圣唐娛樂科技有限公司
  • 發(fā)售:2013年8月18日
  • 開發(fā):上海燭龍信息科技有限公司
  • 語言:簡中
  • 平臺:PC
  • 標簽:國產(chǎn)

玩家點評 0人參與,0條評論)

收藏
違法和不良信息舉報
分享:

熱門評論

全部評論

3DM自運營游戲推薦 更多+