zoukankan      html  css  js  c++  java
  • Unity优化总览

    CPU


    GC

    • 序列化与反序列化,如protobuff,json解析
    • String的频繁构造,拼接,如ToString()会生成字符串,Object.name会返回拷贝
    • 闭包和匿名函数,在闭包中调用外部变量时会创建临时class对象,匿名函数当做参数传入时,也会有内存开销
    • 有开销的函数,如Camera.main等,缓存一下
    • Transform只存局部坐标,旋转,没次获取和设置都有计算开销

    IO操作,

    • debug系列日志函数,打包并不会自动屏蔽

    UI

    • Canvas重建,材质的重新创建,排序,Mesh重建等,建议全部动静分离
    • 图集划分问题,图片尺寸要用POT尺寸

    其他

    • 粒子系统 -> 功能简化的简单子弹类
    • 动画更新优化,放到子线程等
    • GPU Instance
    • 蒙皮计算 GPU skinning
    • 物理 MeshCollider改为凸包

    GPU


    数据量

    • 顶点数: LOD
    • 纹理尺寸: 打开mipmap
    • overdraw: 主要透明物体数量

    Shader算法

    • 数据精度
    • 纹理数目
    • 比较费的函数: grappass,for

    内存


    • Mesh的Read/Write选项(会存在双份数据)
    • 纹理最大尺寸,压缩参数 (硬件支持的压缩,会以压缩格式进内存)

    包大小


    • 一个bug(长期未修复):场景中的物体prefab打成包,场景包中还会有一份资源,需要打成更细的包,比如贴图,就不会

    其他


    • 物理: 关闭某些不需要检测的层之间的碰撞
  • 相关阅读:
    webpack-dev-server 源码
    2021前端会有什么新的变化
    父类 超类 基类 子类 派生类
    Java的权限修饰符(public,private,protected,默认friendly)
    class修饰符public、private、protected、static、abstract
    hash和签名 、证书
    前端加密解密crypto
    appid app_key app_secret
    sdk开发 、sdk与插件的区别
    CF76C
  • 原文地址:https://www.cnblogs.com/Hichy/p/10083890.html
Copyright © 2011-2022 走看看