Unity性能优化
文章平均质量分 68
记录以备后用
啊基米德
这个作者很懒,什么都没留下…
展开
-
Unity 减少垃圾收集 (GC) 的影响
Unity 使用 Boehm-Demers-Weiser 垃圾收集器,它会停止运行程序代码,并且仅在其完成所有工作后才恢复正常执行。要注意某些不必要的堆分配,这可能会导致 GC 尖峰 :1.字符串 :在 C# 中,字符串是引用类型,而不是值类型。减少不必要的字符串创建或操作。避免解析基于字符串的数据文件,例如 JSON 和 XML ;改用 ScriptableObject 或 MessagePack、Protobuf 等格式存储数据。如果需要在运行时构建字符串,请使用 StringBuilder 类。原创 2021-09-18 11:08:43 · 341 阅读 · 0 评论 -
Unity 基本的内存节省方法
可使用一些相对简单的技术来减少托管堆分配。1.集合和数组重用使用 C# 的集合类或数组时,尽可能考虑重用或汇集已分配的集合或数组。集合类开放了一个 Clear 方法,该方法会消除集合内的值,但不会释放分配给集合的内存。2.闭包和匿名方法使用闭包和匿名方法时需要注意两点。首先,C# 中的所有方法引用都是引用类型,因此在堆上进行分配。通过将方法引用作为参数传递,可以轻松分配临时内存。无论传递的方法是匿名方法还是预定义的方法,都会发生此分配。其次,将匿名方法转换为闭包后,为了将闭包传递给接收闭包的方法原创 2021-09-18 10:57:55 · 814 阅读 · 0 评论