看幾張圖了解下顯示不同規(guī)模內(nèi)容時(shí)會有多少渲染量。三幅截圖的drawcall數(shù)分別是847, 1710肋僧, 6566,在雙核i3+GTX660下還是能跑滿60fps的控淡,但是6k多drawcall時(shí)cpu load已經(jīng)要跑滿一個(gè)核達(dá)到瓶頸了嫌吠。
再仔細(xì)剖析能看出dx9下應(yīng)用的節(jié)省drawcall的方式并不多,尤其是帶骨骼動(dòng)畫的單位掺炭。以第二幅圖為例看下dc都花費(fèi)在哪里辫诅,主要列下量多的
一上來60個(gè)dc畫小地圖
接著600多個(gè)dc再畫陰影,地表的單位基本都投射陰影涧狮,包括人物炕矮、建筑么夫、動(dòng)物、樹林
50多個(gè)畫地形
近300個(gè)dc用于渲染城市肤视,應(yīng)該是包括了只看到一部分甚至沒有看到的城市
30多個(gè)dc在渲染樹林档痪,這個(gè)是效率最高的了,面積那么多才只用了這些dc邢滑,前文講過它的方法
近250個(gè)在渲染地表建筑
100個(gè)渲染人物腐螟,其中包括屏幕外的一些。這些人物是每人一個(gè)dc困后,帶骨骼動(dòng)畫乐纸。
200多個(gè)在渲染UI
總結(jié)
dx9下基本是暴力渲染出來的,只有樹林感覺比較取巧摇予。dc大頭是實(shí)時(shí)陰影汽绢、地表靜態(tài)物體,再者是UI和動(dòng)態(tài)物體侧戴。雖然暴力宁昭,但是提交dc的效率還是很高的,每個(gè)模型頂點(diǎn)數(shù)量控制的比較好酗宋,大概1k面左右久窟,像素占得不多。
想起2010年的時(shí)候吧本缠,看wow的dc也是很高的斥扛,大概3k,大量模型的面數(shù)都在500左右丹锹,相當(dāng)整齊稀颁,最終幀數(shù)還是很高的,不像自家游戲不到1k dc就很卡了楣黍。