看幾張圖了解下顯示不同規(guī)模內(nèi)容時(shí)會(huì)有多少渲染量。三幅截圖的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就很卡了。