android pixel rapide d'accès et de manipulation

J'essaie de port un émulateur que j'ai écrit en java pour android. Tout va bien, j'ai été capable de port la plupart de mes codes, avec des changements mineurs mais en raison de la façon dont l'émulation fonctionne, j'ai besoin d'effectuer un rendu de l'image au niveau du pixel.

Comme pour desktop java j'utilise

int[] pixelsA = ((DataBufferInt) src.getRaster().getDataBuffer()).getData(); 

qui me permettent d'obtenir la référence à l'pixel de la mémoire tampon et le mettre à jour à la volée(de minimiser les créations objet)

Actuellement c'est ce que mon émulateur pour android n'a pour chaque trame

@Override
public void onDraw(Canvas canvas)
{
    buffer = Bitmap.createBitmap(pixelsA, 256, 192, Bitmap.Config.RGB_565);
    canvas.drawBitmap(buffer, 0, 0, null);

}   

pixelsA est un tableau int[], pixelsA contient toutes les couleurs d'informations, de sorte que chaque cadre, il sera nécessaire de créer un objet bitmap en faisant

buffer = Bitmap.createBitmap(pixelsA, 256, 192, Bitmap.Config.RGB_565);

qui je crois est assez lent et coûteux.

Est-il possible de dessiner des pixels de manière efficace, avec de la toile?

Vrai, createBitmap est lent, c'est la copie de la mémoire, et même la conversion de format de pixel dans votre cas!

OriginalL'auteur afro100 | 2011-09-29