• 游戏开发优化建议


    • 比如我们写了一个程序 单线程的初始化申请了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.限帧。 
  • 相关阅读:
    23.Vue技术栈开发实战-Icon组件
    shell脚本每行后面多了一个^M的原因和解决办法
    mmap概述
    camera otp介绍
    brk实现
    USB技术浅析
    带你遨游USB世界
    echarts 更换主题颜色
    Hive UDAF介绍与开发
    2020湖北高考理科第一名唐楚玥的学习方法演讲
  • 原文地址:https://www.cnblogs.com/JackPengTH/p/8423949.html
Copyright © 2020-2023  润新知