JBOX2D与LibgdxBOX2D效率对比

阅读更多

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

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

 

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

 

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

 

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

 

      想要源码可以去我的个人网站搜寻:www.leestorm.com

你可能感兴趣的:(JBOX2D与LibgdxBOX2D效率对比)