Lua   发布时间:2022-04-12  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了垃圾收集 – Lua的GC和实时游戏大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
据我所知,跟踪GC无法避免在完成GC期间阻塞线程.

我使用过XNA C#,GC时间无法删除.所以我切换到较低级别的语言C,但我意识到我需要脚本语言.我在虑Lua,但我担心Lua的GC机制. Lua正在使用增量跟踪GC,并且线程阻塞也应该是.

那我该如何在实时游戏中处理这个呢?

解决方法

Lua的力量在于它不受你的影响.想上课吗?这可以用metatables构建.想要沙盒吗?使用 lua_setfenv.

至于垃圾收集器.首先使用它.如果以后发现性能问题,请使用lua_gc来微调其行为.

一些例子:

>在减速会出现问题的那些时候禁用垃圾收集器.
>禁用垃圾收集器,只有当游戏逻辑说你的FPS计数有一些空间时才会执行它.您可以预先调整步长,或在运行时发现最佳步长.
>禁用收集器并在停靠点执行完整收集,即加载屏幕或剪切场景或在热门座位游戏中轮流更改.

您可能还会虑使用其他脚本语言. Squirrel很难成为第二代Lua.它试图保留Lua的所有优点,同时放弃任何设计错误.两者之间的一个巨大差异是squirrel uses reference counting而不是垃圾收集.事实证明,引用计数可能比垃圾收集慢一点,但它是非常确定的(AKA实时).

大佬总结

以上是大佬教程为你收集整理的垃圾收集 – Lua的GC和实时游戏全部内容,希望文章能够帮你解决垃圾收集 – Lua的GC和实时游戏所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。