游戏开发优化建议

  • 比如我们写了一个程序 单线程的初始化申请了500内存。updata 空转。

    基本就不发热。热量产生来源就是 cpu 和 gpu

    减少计算量 基本等于 减少散热量。

    举个例子

    我要一个变量 他的取值范围 0-255 那么一个 字节8比特 8个电位就表达了。

    任何复制取值操作都只有8个电位。

    你非要定义int 那么 表示这个变量 就是32比特 32个电位

    任何复制取值操作都是 上述的4倍消耗。

    减少帧率中的不必要的大计算量的循环 = 减少CUP GPU负担 = 减少热量。

      • 优化线程,寻找热点,看看是哪个函数消耗较高,把主要消耗的线程任务分配到空闲的线程,提高整体效率。优化物理,减少场景内没有必要的物理碰撞(和美术配合)减少模型面数(和美术配合,做模型的LOD)优化材质(和美术配合),注视距裁剪,检测有没有空转的函数。这些做好至少提升帧数20-50 zheng

      1.对模型做LOD

      2.减少GC的触发(很多时候大的卡顿点都是这个引起的)

      3.不要在update做一些高消耗的调用,如GetComponet,Find,Load,SetActive,直接取transform等等

      4对挂有Collider对象,修改位置或旋转不要直接改transform,把Rigidbody也挂上,通过修改Rigidbody的位置和旋转来达到移动的目的。

      5.如果同时修改位置和旋转时,使用SetPositionAndRotation

      6.离开视野的动画和粒子不要播放。

      7.物理引擎消耗要注意。mesh顶点数不要太多。能用射线的就不要投射球体和立方体。

      8.减低fixedupdate频率的限制来减少物理引擎的消耗。

      9.遮挡剔除。

      10.对不同机型做分级优化。

      11.模型的面数要控制在一定的数量内。远处使用低模。太远的直接不显示。

      12.模型骨骼数量不要太多。

      13.drawcall数要控制

      14.不要使用太过复杂的shader。物体能渲染一面的就只渲染一面。

      15.限帧。

相关推荐