任何人都可以告訴我,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