Experimental feature in GraalVM

运行 Optcarrot

运行演示 #

首先 安装 TruffleRuby JVM 独立版

您还需要安装 SDL2

  • 在 macOS 上运行 brew install sdl2
  • 对于基于 RedHat 的 Linux,运行 sudo yum install SDL2-devel
  • 对于基于 Debian 的 Linux,运行 sudo apt-get install libsdl2-dev

然后克隆 optcarrot 仓库

git clone https://github.com/eregon/optcarrot.git
cd optcarrot

然后您就可以玩 Lan Master 游戏了。

在 Linux 上

ruby --jvm bin/optcarrot --print-fps --sdl2 --audio=none examples/Lan_Master.nes

在 macOS 上,您需要一个额外的标志 --vm.XstartOnFirstThread,才能显示 GUI

ruby --jvm --vm.XstartOnFirstThread bin/optcarrot --print-fps --sdl2 --audio=none examples/Lan_Master.nes

注意:使用 --audio=none 是因为在非 60FPS 速度下音频效果不佳。

要玩游戏,请使用按键 17(非数字小键盘)来缩放屏幕,X 用于确定/右转,S 用于左转,方向键用于移动,Q 用于退出。

更多信息可以在这篇博客文章中找到。

这里是关于 TruffleRuby 和 MRI 上运行演示的演讲录音。

在其他 Ruby 实现上运行 #

您也可以在 MRI 上运行它进行比较。您需要安装 FFI gem,命令如下:

gem install --user ffi
ruby bin/optcarrot --print-fps --sdl2 --audio=none examples/Lan_Master.nes

如果需要,您也可以在 JRuby 上运行它

jruby bin/optcarrot --print-fps --sdl2 --audio=none examples/Lan_Master.nes

从 TruffleRuby 仓库作为基准测试运行 #

如果您在本地检出了 TruffleRuby,您也可以使用 bench/optcarrot 下的 OptCarrot 版本。详情请参阅基准测试文档。

联系我们