我有一段代码,我将大约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。
如何加快速度?