unity内存和性能优化
2015-03-13 15:44
381 查看
Unity5 增加和改善了许多功能:Unity 现为 64 位,完全多线程, NVIDIA PhysX 3.3,更轻松、增量式地建立资源包,新 2D 物理效应器,SpeedTree 集成,NavMesh 改善,动画的直接混合树,加载优化,WebGL
插件预览版,Enlighten 实时全局光照,实时光照贴图预览,高级着色器系统,音频革新,Unity Cloud。
1.内存
内存域
a.内部内存,包括asset data,gameObjects,engine internals
b.mono托管, 包括脚本类,封装unity类
c. 本地dll或者扩展dll
本地内存内部分配包括 default,GameObject,GFx,Profiler
内存托管
1. 值类型 (int,bool,float,struct,...)
存在内存栈中,当释放掉从栈中移除,没有产生垃圾
2.引用类型(class)
存在内存堆中,当长时间不引用会被GC移除.
如何减少GC浪费
1.用对象池重用对象
2.能用struct不用class
3.system.GC.Collect手动回收
4.手动释放一些没用的引用
5.不用FindObjects 或者LinQ
6.当字符串连接用stringBuilder代替string
7.用CompareTag()代替.tag
8.Resources.UnloadUnusedAssets,Resources.UnloadAsset
9.用多线程收集垃圾
未完待续。
插件预览版,Enlighten 实时全局光照,实时光照贴图预览,高级着色器系统,音频革新,Unity Cloud。
1.内存
内存域
a.内部内存,包括asset data,gameObjects,engine internals
b.mono托管, 包括脚本类,封装unity类
c. 本地dll或者扩展dll
本地内存内部分配包括 default,GameObject,GFx,Profiler
内存托管
1. 值类型 (int,bool,float,struct,...)
存在内存栈中,当释放掉从栈中移除,没有产生垃圾
2.引用类型(class)
存在内存堆中,当长时间不引用会被GC移除.
如何减少GC浪费
1.用对象池重用对象
2.能用struct不用class
3.system.GC.Collect手动回收
4.手动释放一些没用的引用
5.不用FindObjects 或者LinQ
6.当字符串连接用stringBuilder代替string
7.用CompareTag()代替.tag
8.Resources.UnloadUnusedAssets,Resources.UnloadAsset
9.用多线程收集垃圾
未完待续。
相关文章推荐
- Unity性能优化之内存篇(下)
- Unity5.0新特性------unity内部:内存 和 性能(以及Unity5的升级优化)
- Unity性能优化(主要是内存的优化)
- Unity性能优化之内存篇(上)
- 使用UWA GOT优化Unity性能和内存
- Unity5.0新特性------unity内部:内存 和 性能(以及Unity5的升级优化)
- Unity性能优化---内存上
- Unity5.0新特性------unity内部:内存 和 性能(以及Unity5的升级优化)
- Unity性能优化---内存下
- MyEclipse8.5 性能优化,如何减小内存使用
- JBoss性能优化:内存紧张的问题
- JAVA性能优化内存监控的一些开源工具
- C++高效编程:内存与性能优化
- 【原创】构建高性能ASP.NET站点 第七章 如何解决内存的问题(前中篇)—托管资源优化—监测CLR性能
- unity性能优化(一)
- JAVA性能优化内存监控的一些开源工具
- 通过对oracle内存(SGA和PGA)进行调整,优化数据库性能
- ASP.NET企业级应用性能优化-内存分析