为什么在android上纹理上传这么慢?

时间:2014-02-06 17:50:02

标签: opengl-es android-ndk skia

我有一段代码,我将大约20个字符的字符串绘制到大小为1000x100像素的Skia Bitmap中。然后将其加载到纹理中并将其绘制在屏幕上。

我发现将SkBitmap数据(SkBitmap.getPixels()返回的缓冲区)上传到纹理中需要大约29-30ms。

此代码上传到另一篇文章

Drawing text to texture using Skia

measureStart = systemTime();
if (!initTexture(&texFrame, bitmap))
{
    LOGD("framerate: Unable to create/upload texture based off bitmap");
    return;
}
timeDiff += (int(ns2us(systemTime()-measureStart)));

我画了30帧并且平均花了时间。它需要大约30ms。

我创建了另一个根本不使用OpenGL的程序,只使用Skia渲染文本并直接在帧缓冲区上显示它。花了1毫秒来做同样的事情。

这没有意义。我在安卓4.0.3的android框(带GPU)上运行此代码。 ARM和GPU共享相同的RAM。

如何加快速度?

0 个答案:

没有答案