游戏开发优化建议

  • 比如我们写了一个程序 单线程的初始化申请了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.限帧。 
posted @ 2018-02-06 19:57  黑司机  阅读(201)  评论(0编辑  收藏  举报