UNity Profier 常用优化

内存优化:

    1.ManagedHeap.UsedSize:托管堆的使用。

     不要超过20MB,否则性能会有点问题。

              2.SerializedFile

     序列化文件,把显示中的prefab,atlas等资源加进内存。

             3.资源优化

    贴图:

    许多贴图采用的format格式是ARGB 32 Bit,所以保真度很高,但占用内存很大。在不失真的情况下使用 ARGB 16 bit 就会减少一倍。

有透明贴图但有alpha通道的贴图作出处理。

            当加载一个新的prefab或贴图,不及时回收,他就会永驻内存中,就算切换场景也不会销毁。应该确定物体不再使用或长时间不用,就先把物体置null,然后调用Resource.UnloadUnusedAssets,才能真正释放内存。

             AudioClip: 音效音乐

 播放长时间的音乐文件需要进行压缩成.mp3或ogg格式。时间较短的用.wav格式。

          

    代码优化:

         unloadUnusedAssets 操作(这个非常耗时,一般在切换场景的时候进行)

      if(other.tag == a.tag) other.CompareTag(a.Tag) ,因为other.tag会产生180B的GC Allow

      少用Forrach,因为每次Foreach会昌盛一个enumerator (约16B的内存分配),尽量用for

      Lambda 表达式,使用不当会产生内存泄漏
      尽量控制StartCortinue的次数,开启一个协程,至少分配37B的内存,

      StringBuilder代替字符串连接。

      少使用GetComponent

      

 

  模型优化:

    使用一些贴图的时候可以采用LOD等技术使模型面数减少以增加FPS帧率,并使用遮罩剔除技术。模型优化就是尽量减少面数和点数,减少CPU,GPU工作。

                

 

Profier 认识:

      WaitFortargetFps :

                                 Vsync(垂直同步),即显示当前帧的CPU等待时间。

      

 

posted @   不三周助  阅读(754)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?

喜欢请打赏

扫描二维码打赏

了解更多

点击右上角即可分享
微信分享提示