サイズが 1000x100 ピクセルの Skia Bitmap に約 20 文字の長さの文字列を描画するコードがあります。次に、それをテクスチャにロードして、画面に描画します。
SkBitmap データ (SkBitmap.getPixels() によって返されるバッファ) をテクスチャにアップロードするだけで、約 29 ~ 30 ミリ秒かかることがわかりました。
このコードは別の投稿にアップロードされています
measureStart = systemTime();
if (!initTexture(&texFrame, bitmap))
{
LOGD("framerate: Unable to create/upload texture based off bitmap");
return;
}
timeDiff += (int(ns2us(systemTime()-measureStart)));
30 フレームを描画し、timeDiffs の平均を取りました。約30msかかります。
OpenGL をまったく使用せず、Skia を使用してテキストをレンダリングし、フレーム バッファーに直接表示する別のプログラムを作成しました。同じことをするのに1msかかりました。
これは意味がありません。Android 4.0.3 を搭載した Android ボックス (GPU 付き) でこのコードを実行しています。ARM と GPU は同じ RAM を共有します。
これをより速くする方法は?