精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-03-25
最后修改:2010-04-01
http://www.youtube.com/watch?v=U4Bk5rmIpic&feature=player_embedded 上面的视频有一段比较并总结了用Canvas 和 OpenGL ES两种方式render sprite的速度, 结论是 Sprite数量少的时候,几种方式速度一样。 随着sprite数量增加,Canvas的速度明显下降,opengl速度下降缓慢。 Canvas是用CPU,OpenGL明显是用GPU和显存 哥儿很好奇,用我的nexus one也来跑一跑测试(从svn中download下来http://code.google.com/p/apps-for-android/ 中的SpriteMethodTest项目) 首先介绍一下测试结果的分类方法: 这个测试可以控制 Sprite的数量 Sprite的是否运动 用Canvas画 用OpenGL ES画分三种方式: 1.Use Basic Vert Quads. (下面缩写为OpenGL 1) 2.Use Draw Texture Extension (下面缩写为OpenGL 2) 3. Use VBO Extension (下面缩写为OpenGL 3) 注:后面的两种方式是要求OpenGL ES版本大于1.0才有的(nexus one的android 2.1上面的版本是1.1 OK,为了节约碳资源,不截图了…… ======================================== 测试一: 10个Sprite 不运动 Canvas: 142.85 fps OpenGL 1: 34.48 fps OpenGL 2: 33.33 fps OpenGL 3: 33.33 fps 测试二: 10个Sprite 运动 Canvas: 90 fps OpenGL 1: 32 fps OpenGL 2: 33 fps OpenGL 3: 32 fps ======================================== 测试三: 100个Sprite不运动 Canvas: 111 fps OpenGL 1: 43.47 fps OpenGL 2: 43.47 fps OpenGL 3: 41.66 fps 测试四: 100个Sprite运动 Canvas: 62.5 fps OpenGL 1: 45 fps OpenGL 2: 43 fps OpenGL 3: 45 fps ======================================= 测试五: 500个Sprite不运动 Canvas: 27 fps OpenGL 1:20 fps OpenGL 2:23.8 fps OpenGL 3:23.8 fps 测试六: 500个Sprite运动 Canvas: 25 fps OpenGL 1: 20 fps OpenGL 2: 23 fps OpenGL 3: 22 fps ======================================= 测试七: 1000个Sprite不运动 Canvas: 15.38 fps OpenGL 1: 10.5 fps OpenGL 2: 12.82 fps OpenGL 3: 14.7 fps 测试八: 1000个Sprite运动 Canvas: 15.15 fps OpenGL 1: 10.3 fps OpenGL 2: 12.65 fps OpenGL 3: 14.28 fps ================================== 测试结果很奇怪,非常奇怪~ 看点一: 用OpenGL 100个比10个速度快。 看点二: Canvas在Nexus one上战胜了OpenGL方式…… 看到过文章说Nexus one上的gpu很<script type="text/javascript" src="http://www.iteye.com/javascripts/tinymce/themes/advanced/langs/zh.js"></script><script type="text/javascript" src="http://www.iteye.com/javascripts/tinymce/plugins/javaeye/langs/zh.js"></script>惨,所以拿高频的CPU来拟补不足,以为开玩笑呢。 我没有其它设备,有其它设备的兄弟也放上测试数据比较一下! ================================== 原来放到附件里的apk是没签过名的,不能用,sorry,我也是新手。 重新上传了一个,在我的手机里测试过能安装!! 大家也测试测试 ================================ 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-03-29
cool! Canvas指HTML5中的么?
|
|
返回顶楼 | |
发表时间:2010-03-30
fkpwolf 写道 cool! Canvas指HTML5中的么?
囧,指的是Android 里面的Canvas |
|
返回顶楼 | |
发表时间:2010-03-30
udvs 写道 fkpwolf 写道 cool! Canvas指HTML5中的么?
囧,指的是Android 里面的Canvas :) 那是java和c/c++的比较吗?opengl es在android现在可以用ndk编程了 |
|
返回顶楼 | |
发表时间:2010-03-31
fkpwolf 写道 udvs 写道 fkpwolf 写道 cool! Canvas指HTML5中的么?
囧,指的是Android 里面的Canvas :) 那是java和c/c++的比较吗?opengl es在android现在可以用ndk编程了 这个只是java的,java用不同方式画图的效果~ android虽然是可以用ndk编程了,个人认为对于个人开发者来讲开发成本有点高。 java的性能也没有想象的那么糟,最主要还是看项目的规模和类型,搞游戏来讲大型的3D游戏有一些意义。 |
|
返回顶楼 | |
发表时间:2010-04-01
问一哈楼主,这个包咋用啊?我安不上啊?直接往手机里边安的,用的是apkInstaller。。。我是直接把后缀名的zip去掉了。。。变成了SpriteMethodTest.apk。。。不对吗?
|
|
返回顶楼 | |
发表时间:2010-04-01
lz感觉nexus one到底如何?我近期也打算没一个nexus one来着。
|
|
返回顶楼 | |
发表时间:2010-04-01
BarryWei 写道 lz感觉nexus one到底如何?我近期也打算没一个nexus one来着。
整个HTC Desire吧,一样子的配置,就是把触屏键改成了实体键,轨迹球改成了像苹果一样的光感。主要是漂亮多了,HTC的sence好看多了,听说还支持Flash Player 10.1呢。四月份马上就出了。 |
|
返回顶楼 | |
发表时间:2010-04-01
mncc 写道 BarryWei 写道 lz感觉nexus one到底如何?我近期也打算没一个nexus one来着。
整个HTC Desire吧,一样子的配置,就是把触屏键改成了实体键,轨迹球改成了像苹果一样的光感。主要是漂亮多了,HTC的sence好看多了,听说还支持Flash Player 10.1呢。四月份马上就出了。 价格上呢?有没有比较过? |
|
返回顶楼 | |
发表时间:2010-04-01
mncc 写道 问一哈楼主,这个包咋用啊?我安不上啊?直接往手机里边安的,用的是apkInstaller。。。我是直接把后缀名的zip去掉了。。。变成了SpriteMethodTest.apk。。。不对吗?
对啊!难道我打包的有问题…… 建议去 http://code.google.com/p/apps-for-android/ 用SVN把项目下载下来自己打开试试 |
|
返回顶楼 | |