小智 11
我是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
| 归档时间: |
|
| 查看次数: |
1323 次 |
| 最近记录: |