12
2012
01

JBOX2D与LibgdxBOX2D效率对比

      程序很简单,创建一个BOX2D物理环境,添加一块地板,点击屏幕任意位置生成20x20的小方块。小方块由重力影响自由下落,小方块之间以及与地板之间都会有弹力作用。

      所有的参数都设置为一样(比如时间步、迭代数、重力常量、方块密度、摩擦力等),分别测试了JBOX2D与Libgdx封装的BOX2D在Android上可行性。测试硬件为HTC G7(1GHZ单核 512 RAM)。

 

jbox2dtestJBOX2D,纯JAVA封装的。图中的情况为27FPS,实际FPS很不稳定,同时十个左右方块进入活动状态应该能保持流畅,再多就会出现拖慢。基本上用它做愤怒的小鸟之类的游戏会比较困难。

 

libgdxbox2dtestlibgdx里封装的BOX2D,这个是基于JNI的,效率提升很多。图中FPS为66。实测FPS很稳定,同时几十个方块在运动也没有出现明显拖慢,FPS非常稳定,效率比JBOX2D高出很多个级别。

 

      如果你不知道BOX2D是什么,那我告诉你是一个2D游戏物理引擎,其余的请百度一下。如果你不了解JBOX2D以及Libgdx的BOX2D有什么区别,可以参考我另一篇博文“BOX2D选择的建议”。

      以前承诺写一个简单的BOX2D例子作为教程,过几天有空了就以图中这个例子简单介绍一下。感谢支持!转载注明出处哟!

« 上一篇下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。