Version: 1.7
语言 : 中文
IL2CPP 运行时内存优化
Shader 内存优化

内存分配器优化

引擎内部的内存分配器,出于 Profile、平台兼容等原因,存在一些 Overhead。小游戏平台对内存比较敏感,可以针对这方面进行更极致的优化。

去除内存分配器 Overhead

即使在 Release 版本中,引擎内存分配器也会记录每次分配的大小,用于统计内存分配总量,并且会在内存分配器层面多引发一次内存对齐,带来更多的 Overhead。

这些 Overhead 现在在 Release 版本中默认关闭。

关闭后 Profiler.GetTotalAllocatedMemoryLong 获取的值为0,如果需要在 Release 版本中使用此接口,可以通过 Slim接口 重新启用:

  • EditorBuildSettings.SetSlimTypeMiniGame("AllocateOverhead", EditorBuildSettings.SlimType.KeepOriginal);

或者在 BuildSettings -> Strip Advice 窗口中设置。

调整内存默认 Alignment

引擎默认内存默认 Alignment 是16字节,但小游戏平台不需要这么大,在 Release 版本下减小为4字节,可以进一步降低相关的 Overhead。

IL2CPP 运行时内存优化
Shader 内存优化