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等待时间。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?