前文介绍了数据一致性、体验优化等方面。由于帧同步将所有的运算都放在客户端,而且所有游戏对象都需要参与运算、不能省略,因此对游戏进行性能优化也非常必要。本文将着重介绍H5游戏的性能优化的一些方法。
三,性能优化
游戏在运行过程中,最主要的资源消耗就是CPU、GPU、内存三部分。比如CPU有太多的渲染状态切换、逻辑更新太复杂,GPU的Draw Call和Over Draw太高,内存存在太多纹理、场景对象等。而这一切都会产生功耗。手机性能优化的核心就是,如何以最少的资源消耗,获得最好的用户体验。
1.GPU优化
讲GPU优化前,首先要介绍一下渲染管线。CPU首先要决定渲染哪些对象、坐标是多少、加载什么纹理、哪些需要被裁剪,然后设置渲染状态,发送纹理数据。紧接着调用DrawCall。GPU则通过顶点着色器、光栅化、片段着色器等流程将其渲染出来。
GPU优化首当其冲是要进行合批、降Draw Call。原因是,GPU的渲染是并行的,它的工作方式决定了:少次多量的渲染指令、比多次少量的渲染指令,利用率高的多。常见的合批方式有:
- 动态合图。采用引擎自带的动态合图,能最快速的达到合图效果。
- 静态合图。开发者自行进行的合图方式,需要开发者对于图集和渲染顺序