【问题标题】:Android: Need faster way to display RGB565 bitmap from byte arrayAndroid:需要更快的方式从字节数组显示 RGB565 位图
【发布时间】:2011-11-11 17:04:12
【问题描述】:

我有一个 RGB565 字节数组,我在 Canvas 上显示如下:

    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 可能无济于事..

【问题讨论】:

  • 为什么会出现性能问题?你这样做了很多次吗?

标签: android canvas bitmap surfaceview


【解决方案1】:

这不是一个详细的答案,但如果您需要位图的严格性能,我会考虑在 NDK 中进行。我已经涉猎了一点,它非常好。

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

看看等离子的例子。我们基本上是从这个开始并构建了我们的解决方案。

除此之外,我建议不要在每次运行时都创建新位图。

【讨论】:

  • 谢谢!事实上,我确实在每次运行时都创建了一个新的位图。一旦我开始使用单个位图,性能就会大大提高。我还没有研究你建议的等离子解决方案
  • 使用血浆样本的方法更快,谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-08
  • 1970-01-01
  • 2017-01-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多