給移動(dòng)端游戲開(kāi)發(fā)者的一點(diǎn)建議


1? 能batch objects盡量批處理以減少draw call的數(shù)量,一個(gè)renderpass不要包含太多的draw call;
2? shader 編譯與program link都很昂貴,盡量在load 游戲時(shí)做完,而不要在交互時(shí)去做;
3? 對(duì)于不透明的物體,盡量使用front-to-end的順序去渲染;
4? 不透明的物體務(wù)必關(guān)掉blend操作;
5? z prepass會(huì)畫兩次,比較昂貴,請(qǐng)合理使用;
6? 盡量采用glDrawElements,可以重復(fù)利用vertex,不僅可以優(yōu)化內(nèi)存,而且對(duì)于arm Mali新的架構(gòu)做了相應(yīng)的優(yōu)化;
7? 在保證效果的前提下,盡量采用低精度;
8? 對(duì)于采用index buffer vertex shading的渲染,position 屬性放在一個(gè)buffer,其他的屬性interleave放在另? ? ? 一個(gè)buffer;
9? 一般地,這些情況采用mediump精度就足夠:normals,vertex color,camera-space的position和方向,texture 坐標(biāo);
10? 一般地,這些情況會(huì)采用highp精度:world-space的position,大texture的坐標(biāo);

11? 對(duì)于每一個(gè)FBO,如果不是在前面渲染好的FBO的基礎(chǔ)上繼續(xù)畫,請(qǐng)務(wù)必首先調(diào)用glClear;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容