我正在研究一个允许跨越视频帧(位图)的应用程序。它也有能力逐帧播放这些帧,就好像您实际上在观看由这些帧组成的视频一样。画布绘制速度太慢
我有一个ImageView一次显示一个位图。我遇到的问题是将图像绘制到ImageView(我们正在谈论的只是对super.onDraw()的调用)需要大约30ms。由于帧需要以原始帧速率播放,这是一个问题。还有其他一些操作也正在进行,这些操作也会减慢过程,但绘图当然无济于事。
我正在研究OpenGL ES,但似乎并非所有设备都支持非功率为2的图像,所以这是行不通的。图像的尺寸是该设备录制的视频分辨率的一半,因为我以半尺寸对它们进行了采样,并且几乎保证不会成为二次幂的图像。
有什么办法可以加快速度,使绘图更快?
只是想补充一点,您还可以使用NPOT纹理,通过扩展到下一个幂次,创建纹理,然后缩放以进行渲染。 –
虽然两个功能的支持也不取决于设备的硬件吗?我在看http://stackoverflow.com/questions/3881197/opengl-es-2-0-extensions-on-android-devices,它看起来像列出的Tegra 2设备不支持npot扩展。 – BigFwoosh
哎呀,我的意思是非二的权力。 – BigFwoosh