2012-02-25 10 views
2

Rubyの宝石rubysdlruby-sdl-ffiの違いは、速度の差異のように分かりますか?もしそうなら、あなたはが好きですか? Rubydraw(here)と書いている私の宝石のために私は疑問に思います。ruby​​sdlとruby-sdl-ffi

ありがとうございます!

答えて

9

私はruby-sdl-ffiの著者です。この質問は今日私の注意を喚起されたので、私はまだ興味がある人の利益のために答えています。

主な違いは、ruby-sdl-ffiはFFI(外部関数インタフェース)を介してSDL(および関連ライブラリ)にアクセスする純粋なRubyコードですが、RubysdlはSDL(および関連ライブラリ)。それぞれのアプローチに長所と短所があります。 (明らかに、私はFFIがより良いアプローチであると感じる、またはruby-sdl-ffiを書くのに気にしないだろう)

どちらのライブラリも同様のフィーチャセットを提供します。彼らは、画像、音/音楽、およびキーボード、マウス、および/またはジョイスティック/ゲームパッドからのユーザ入力の2Dゲームを行うことができます。また、ハードウェアアクセラレーションされた3Dゲームを作成するために、OpenGL(ruby-openglまたはffi-opengl経由)と一緒に使用することもできます。 rubysdlは "rsdl"という特別なRubyインタープリタラッパーを使うと、MacOS X上でしか動作しますが、Windows、MacOS X、Linux(おそらく他のプラットフォーム)でも使えます。

私は深刻なベンチマークを実行していないため、未処理のパフォーマンスに関する明確なデータを提供することはできません。私の一般的な印象は、rubysdlはパフォーマンスの面でわずかな利点があるかもしれないが、2つのライブラリの間で決定する際にパフォーマンスが主要な要因ではないほど近いからです。

ルビー-SDL-FFIの宝石をインストールするユーザーのための

  • 簡単:ここ

    は、私は2つのライブラリの長所と短所を要約する方法をです。コンパイルする必要はないので、ユーザはCコンパイラやツールチェーンをインストールする必要はありません。

  • MRI(通常のRubyインタプリタ)、JRuby、おそらくRubiniusで動作します。
  • MacOS Xでは特別なインタプリタは必要ありませんが、MacOS Xの最新版を完全に利用できるようにMacOS Xのサポートをアップデートする必要があります(アップルは物事を変え続けます)。
  • 下位レベルAPIは、Cライブラリをより密接に反映します。これは、あなたの視点に応じて良いか悪いかがあります。
  • 現在、SDL、SDL_gfx、SDL_image、SDL_mixer、およびSDL_ttfライブラリのバインディングがあります。 (rubysdlと比べると、SDL_gfxは追加されますが、SGEとSMPEGはありません)。他のライブラリのバインディングを追加するのは簡単です。
  • これ以上積極的に開発またはメンテナンスされません。私はもう時間や関心がないが、誰かが引き継ぐことを歓迎し、私は指導を提供することができる。
  • 多少実験的で、ある程度の粗いエッジがあります。

  • より成熟し、洗練さrubysdlは、時の試練に耐えてきました。
  • 日本語のテキスト入力とレンダリングのサポートが強化されました。
  • 高水準でより抽象的なAPIです。
  • SDL、SGE、SMPEG、SDL_image、SDL_mixer、およびSDL_ttfライブラリをバインドします。
  • gemをインストールするには、ユーザーにCコンパイラが必要です。これは、WindowsとMacOS Xのかなりの頭痛になる可能性があります。
  • 特別な "rsdl" Rubyインタープリタを使用してMacOS Xユーザーにゲームを実行する必要があります。したがって、私の知る限り、MacOS X上のJRubyやRubiniusでは動作しません。
  • これ以上開発やメンテナンスが行われていないようです。
+0

こんにちはJohn、SDLとあなたの宝石をGosuと比較する方法についての考えはありますか? – Andrew