我正在制作一个游戏,您可以在其中创建自己的 LUA 代码来创建自定义 NPC。但是,每个脚本占用大约 1 兆字节。更糟糕的是,当我重新创建这些脚本时,那些旧脚本并没有被删除。一个有 100 个实体的关卡会占用 100MB 的内存,如果玩家死了 10 次,那就是 1 GB!即使只是创建一个没有注册任何用户数据的脚本仍然占用 2MB。这是加载关卡后大约 5 秒的快照:
注意:脚本占内存的 10%。
我查看了其中一个快速堆栈对象,其中包含大约 130,000 个空对象。即使我只是调用 new Script() 并使用它而不调用任何函数,仍然有很多内存被用完!如何减少脚本的内存使用量?如果没有任何效果,我正在考虑切换到 NLua,如果它更好的话。