如何对Unity代码中的GC进行优化?
如何对Unity代码中的GC进行优化? 少用class 不写代码就好了[*]如果你有一些值类型的数据,比如Vector2、Vector3,这些值类型的数据类型,如果直接使用C#的值类型的数据,中间会存在数据类型转换,从而产生GC,所以应该基于托管栈重新实现值类型的代码绑定
[*]在一些频繁调用的方法里(比如Update方法)要避免使用params可变参数列表,因为params会动态new数组出来,如果每一帧都去new一个数组就会产生大量GC
详细内容可以参考下方完整视频
一小时极速掌握ILRuntime热更新
https://www.zhihu.com/video/1545127996750516225 减少临时对象分配:
缓存、复用现有对象
使用对象池
避免装箱:
避免将值类型转为引用类型(object、接口)
避免将enum作为Dictionary的键
使用Profiler监控GC分配
页:
[1]