我做了一些我认为我会分享的额外研究。如果您感谢我的调查,请告诉我(点赞?),我可能会在了解更多信息时分享更多信息。
只有 1.8% 的 Android 设备运行 API 8/2.2/Froyo 之前的版本,98.2% 的 Android 设备支持 OpenGL ES 2.0(尽管 2.2 API 存在一些缺陷)。
对于支持 GLES20(给定最大时钟频率)的上述品牌的最弱芯片,我发现了以下峰值/最大值/...信息:
- Adreno 200(每秒 2200 万个三角形,每秒 1.33 亿像素)
- Mali-200(16 mtps,275 mpps)
- PowerVR SGX520(7 mtps,100 mpps)
- Tegra APX 2500(40 mtps、400 或 600 mpps,取决于来源)
根据今天我能找到的最便宜的 Android 设备使用
- MARVELL PXA910 800MHz(10 或 20 mtps,200 mpps)
如果不需要绘制一半的三角形(通过剔除),每秒 2000 万个三角形似乎是理论上的最大值。
我发现 Marvell 区分两个峰值的事实有点可疑。也许有人应该对我在营销幻灯片和论坛上找到的 Tegra 数据持怀疑态度。另外,我有一个带有 PowerVR SGX530(14 mtps,200 mpps)的设备,它至少以与我在 1024x600 下尝试的 Tegra 2 T20 设备(71 mtps,1200 mpps)相同的速度渲染我的 800x480 屏幕的测试应用程序.
我有两台与 Tegra 2 T20 相同的设备,一台运行 Android 3 的运行我的测试应用程序比运行 Android 2 的一台运行得更快。不过,两者都运行非官方的 Android 版本。我认为这可能会导致 GPU 利用率不理想,但 CPU 负载显示为低得离谱。也许 SurfaceView 的开销开始变得显着超过一定的帧速率——但 PowerVR 设备也运行 Android 2。
到目前为止,这与 alpha 混合没有太大关系(除了我在 Nvidia 芯片上读到的,这是在片段着色器中隐式完成的),但我觉得在那里记录起点是值得的。但请继续关注更新。