Android: нужен более быстрый способ отображения растрового изображения RGB565 из массива байтов - PullRequest
1 голос
/ 11 ноября 2011

У меня есть байтовый массив RGB565, который я отображаю на холсте следующим образом:

    Bitmap bmp = Bitmap.createBitmap(width, height, Bitmap.Config.RGB_565);
    ByteBuffer buf = ByteBuffer.wrap(data); // data is my array
    bmp.copyPixelsFromBuffer(buf);
    // then I display the bitmap on my SurfaceView

Я вижу, что эта процедура довольно медленная на моем телефоне. Могу ли я сделать это быстрее, мне просто нужно отобразить этот байтовый массив RGB565 на холсте. В моем телефоне нет графического ускорителя, поэтому openGL, вероятно, не поможет ..

1 Ответ

2 голосов
/ 11 ноября 2011

Это не подробный ответ, но если вам нужна серьезная производительность с растровыми изображениями, я бы посмотрел на это в NDK. Я немного поболтал с этим, и он довольно хорош.

http://developer.android.com/sdk/ndk/overview.html

Посмотрите на пример плазмы. Мы в основном начали с этого и создали наше решение.

Кроме того, я бы предложил не создавать новое растровое изображение при каждом запуске.

...