任何人都可以告诉我,Ruby gems rubysdl
和ruby-sdl-ffi
之间的区别,就像速度差异一样吗?如果是这样,你会更喜欢吗?我想知道我写的宝石,Rubydraw(位于here)。rubysdl与ruby-sdl-ffi
在此先感谢!
任何人都可以告诉我,Ruby gems rubysdl
和ruby-sdl-ffi
之间的区别,就像速度差异一样吗?如果是这样,你会更喜欢吗?我想知道我写的宝石,Rubydraw(位于here)。rubysdl与ruby-sdl-ffi
在此先感谢!
我是ruby-sdl-ffi的作者。这个问题今天引起了我的注意,所以我正在回答那些仍然好奇的人的好处。
主要区别在于ruby-sdl-ffi是通过FFI(外部函数接口)访问SDL(和相关库)的纯Ruby代码,而rubysdl是用C语言编写的扩展,链接到SDL(以及相关库)。每种方法都有优点和缺点。 (显然,我觉得FFI是更好的方法,或者我不会为编写ruby-sdl-ffi而烦恼。)
尽管存在一些差异(下文提到),但两个库都提供了相似的功能集。他们都可以通过图像,声音/音乐以及键盘,鼠标和/或游戏杆/游戏手柄的用户输入进行2D游戏。他们也可以与OpenGL(通过ruby-opengl或ffi-opengl)一起使用来创建硬件加速的3D游戏。它们都可以在Windows,MacOS X和Linux(也可能是其他平台)上使用,但是如果您使用称为“rsdl”的特殊Ruby解释器包装器,则rubysdl仅适用于MacOS X.
我还没有运行任何严重的基准测试,所以我无法提供任何有关原始性能的明确数据。我的一般印象是,rubysdl可能会有轻微的性能优势,但它们足够接近,性能不是决定两个库之间的主要因素。
这是我会怎么总结这两个库的利弊:
红宝石SDL-FFI
rubysdl
嗨,约翰,有关SDL和你的宝石如何比较使用Gosu的想法? – Andrew 2013-08-25 06:19:25