我正在寻找一个好的图形框架,使一个很好的2D游戏在Ruby。我做了3个非常简单的测试,看看哪个图形Ruby框架在Gosu和Rubygame之间速度更快。该测试创建了一个" square“类的1000个实例,这些实例使用框架的方法以最简单的方式移动和绘制红色正方形。第三个测试是相同的,但是是在一个纯OpenGL实现中(没有任何框架)。结果如下:
纯OPENGL (使用ruby-opengl) 80Fps:alt text http://grab.by/JTM
GOSU (使用ruby-opengl + gosu) 46Fps:alt text http://grab.by/JTC
RUBYGAME (使用ruby-opengl + rubygame + rsdl) 32Fps:alt text http://grab.by/JTw
为什么在纯OpenGL测试和Rubygame或Gosu测试之间有如此大的fps差异?(它们是否都使用opengl)
这些框架真的可靠吗?或者有没有更好的框架我应该使用?(我不认为自己会经历用纯OpenGL加载图像、声音和字体的整个过程:p)
你的意见呢?
发布于 2009-11-24 00:21:20
当您使用框架时,任何简化和加速开发的框架都会立即导致性能损失。OpenGL是一个好的、快速的库,但是当你用高级语言和框架包装它时,你绝对可以预期它会变慢。OpenGL仍然很快,你的缓慢来自于那些框架内部正在发生的任何事情的开销。尽管如此,46fps看起来并不是太糟糕,但如果你打算对引擎施加比你的例子更多的压力,你可能会得到一个不能玩的游戏。
发布于 2010-11-25 19:21:45
我刚刚用Ruby 1.9.2和Gosu做了一个square项目。在我的MacBook专业版上,我可以得到1000个格子和60fps,而没有性能问题。使用eval展开我的对象数组,我得到了4000个60帧/秒的方块。这些方块具有随机的速度,并从显示器的边缘反弹。
发布于 2009-11-24 04:23:19
如果这是使用框架的惩罚,我想知道实际实现游戏逻辑的惩罚是什么……我将Ruby用于gamedev的希望正在更快地破灭。
https://stackoverflow.com/questions/1784138
复制相似问题