OpenGL ES 性能优化全解析
1. 不同设备的 OpenGL ES 性能初窥
在对不同设备进行 OpenGL ES 性能测试时,我们记录了 Nexus One 的帧率数据:
| 时间 | FPS |
| — | — |
| 12–10 03:28:05.923 | 43 |
| 12–10 03:28:06.933 | 43 |
| 12–10 03:28:07.943 | 44 |
| 12–10 03:28:08.963 | 44 |
| 12–10 03:28:09.973 | 44 |
| 12–10 03:28:11.003 | 43 |
| 12–10 03:28:12.013 | 44 |
通过初步观察,我们得到以下结论:
- Hero 的速度是 Droid 和 Nexus One 的一半。
- Nexus One 比 Droid 略快。
- 在 Hero 设备的进程中会产生垃圾对象(编号 17883)。
2. Android 1.5 上 Hero 设备的问题根源
Hero 在 Android 1.5 上使用 NIO 缓冲区存在严重问题。当调用 glVertexPointer() 、 glColorPointer() 或其他 glXXXPointer() 方法时,OpenGL ES 会尝试从直接 NIO 缓冲区获取内存地址以查找顶点并将数据传输到视频 RAM。而在 Android 1.5 上,每次从直接 NIO 缓冲区请求内存地址
超级会员免费看
订阅专栏 解锁全文

1438

被折叠的 条评论
为什么被折叠?



