什么是创建图像文件的最快方法

时间:2014-12-02 19:59:20

标签: android image performance

我有一个医疗设备发送像素的值,以便绘制为图像(帧后帧)。 我需要拍摄像素并在屏幕上构建一个图像。目前使用我编写的代码,我设法获得2fps的图像大小为800x600。

在屏幕上绘制图像的最快方法是什么?并且不断地做。

 Bitmap mBitmap = Bitmap.createBitmap(width, height, Bitmap.Config.RGB_565);
 Canvas c = new Canvas(mBitmap);
 Paint paint = new Paint();
 int[] colorMatrix = new int[width * height];
 for (int i = 0; i < imageXY.length; i++) {
        int indexValue = Integer.parseInt(strValueIndex[i]);
        int pixelValue = Integer.parseInt(imageValue[indexValue - 1]);
        int pixelIndex = GetXY(imageXY[i]);
        //int pixelIndex = Integer.parseInt(imageXY[i].split(",")[2]);
        colorMatrix[pixelIndex] = pixelValue;
    }

    c.drawBitmap(colorMatrix, 0, width, 0, 0, width, height, false, paint);
    myImage.setImageBitmap(mBitmap);

然而,每帧约需500毫秒

1 个答案:

答案 0 :(得分:1)

这是在Android中启动OpenGL最简单的地方:http://developer.android.com/guide/topics/graphics/opengl.html

我还会考虑在这个过程中使用多个核心;虽然基于GPU的计算可以提供更高的单核速度,但是通过利用多核和并行处理将大大加速诸如此类的相当“简单”的任务,并且不应该太难实现。以下是Android设备上并行处理的介绍。

https://developer.qualcomm.com/blog/multi-threading-android-apps-multi-core-processors-part-1-2