日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

游戲打call是什么意思啊 游戲打call是什么意思( 二 )


由上可知,動態(tài)合批是一個雙刃劍,雖然可以獲得合批提升的渲染性能,但同時CPU計算出頂點的世界坐標會產(chǎn)生額外的運算開銷, 使用動態(tài)的合批的時候,我們要關(guān)注一下, 付出+得到是不是成比例 。
動態(tài)合批是引擎會自動處理的,所以引擎會對能夠動態(tài)合批的物體,會有一些條件的限制,引擎和系統(tǒng)給的合批的限制是頂點數(shù)目不應(yīng)過多;
最后總結(jié)一下動態(tài)合批的缺點:CPU的開銷和drawcall減少得到性能提升之間來做平衡;
GPU Instancing合批:
同一個網(wǎng)格對象的N個實例的繪制可以采用GPU Instancing合批 。它的本質(zhì)就是提交一次網(wǎng)格物體給GPU, GPU繪制出這個物體的N個實例到不同的地方(位置,旋轉(zhuǎn) , 縮放) 。如1000個小兵采用GPU Instancing 合批,提交一個小兵的網(wǎng)格對象給GPU, GPU根據(jù)1000個小兵的位置來繪制出來我們1000個實例 。
1000個實例,可以在同一個批次進行完成(1000個實例< GPU每次處理的極限),如果1000個兵一起合批超過了顯卡的極限就分多批如: 800兵一批 , 200兵一批;
GPU Instacing合批是非常好的一種方式,它的缺點就是有些老的顯卡不支持 。
組織項目讓Drawcall更小需要注意的點
合理的安排物體, 注意不要打亂物體的合批 。3D物體的渲染順序是引擎自動計算出來的 , 盡可能的在3D場景里面讓物體使用同一個材質(zhì),盡可能的在同一個渲染隊列里面使用同一個材質(zhì),盡可能的在3D場景里面使用同一個種shader,不要根據(jù)物體渲染的需順序來回切換shader(Set Pass Call開銷很大) 。2D UI物體盡可能的安排同一個圖集的物體在一起 , 如任務(wù)系統(tǒng)UI,盡量的讓任務(wù)系統(tǒng)這些UI物體在一個圖集里,這樣可以合批渲染;
將多個物體的紋理合并到一起,如游戲地圖上的障礙物,可以將這些障礙物與地圖的紋理合并到一起,這樣地圖和障礙物可以由合批的可能 。
最后 美術(shù)把能合批的物體生成到一個fbx模型里面,這樣從美術(shù)的層次來減少渲染批次 。
今天的分享就到這里了,關(guān)注我們可以獲得更詳細的官方給出的合批的一些規(guī)定,幫助大家優(yōu)化Drawcall 。

推薦閱讀