Gra*_*ers 8 c++ scripting performance cross-platform
我是游戏开发人员,现在正在为我们公司编写跨平台,多线程引擎.可以说,游戏引擎中最强大的工具之一就是它的脚本系统,因此我正在寻找一种新的脚本语言来集成到我们的引擎中(目前使用相对基本的内部引擎).
所需脚本系统的主要功能(按重要性顺序)是:
到目前为止,我已经积累了使用Lua,Squirrel(OO语言,基于Lua)并编写了一个ActionScript 2虚拟机的经验.
那么,您建议哪种脚本系统符合上述标准?(如果可能的话,您是否也可以发布或链接到您可能拥有的其他脚本语言的任何比较)
谢谢,格兰特
Lua非常适合您的需求.我会以同样的顺序接受它们.
Lua是最快的脚本语言之一.编译速度快,运行速度快.
Lua在任何具有ANSI C编译器的平台上编译,其中afaik包括所有游戏平台.
Lua可以预编译,但作为一种非常动态的语言,大多数错误只能在运行时检测到.预编译代码(作为字节码)在大小方面通常比源代码更大.
有许多Lua/C++绑定工具.
它不支持多线程(您不能从多个线程访问解释器的单个实例),但是您可以拥有多个解释器实例,每个线程一个实例,甚至每个游戏对象一个实例.
到目前为止,我们与Squirrel 的合作非常顺利。Lua 非常受欢迎,它正在成为一种标准。
我建议您更多地担心内存而不是速度。大多数脚本语言都“足够快”,如果它们变慢,您总是可以将其中一些功能推回到 C++ 中。然而,其中许多都会消耗大量内存,而在控制台上,内存是比 CPU 时间更稀缺的资源。无限制的内存消耗最终会让你崩溃,如果你必须为解释器分配 4MB,那就相当于必须将 30 个纹理扔出窗外以腾出空间。
| 归档时间: |
|
| 查看次数: |
4379 次 |
| 最近记录: |