Android Canvas y Aceleración de Hardware?

Hola a todos Me preguntaba si era posible dibujar un lienzo / mapa de bits fuera de pantalla y aprovechar la aceleración de hardware o tengo que dibujar dentro del método onDraw() de la View

Por ejemplo, dibujo a un mapa de bits fuera de pantalla haciendo lo siguiente:

 Bitmap.Config config = Bitmap.Config.ARGB_8888; Bitmap buffer = Bitmap.createBitmap(200, 200, config); Canvas canvas = new Canvas(buffer); Paint paint = new Paint(); paint.setColor(Color.RED); canvas.drawLine(0, 0, 100, 100, paint); 

Sin embargo canvas.isHardwareAccelerated() devuelve false y el dibujo es lento en comparación con:

 protected void onDraw(Canvas canvas) { Paint paint = new Paint(); paint.setColor(Color.RED); canvas.drawLine(0, 0, 100, 100, paint); } 

Donde canvas.isHardwareAccelerated() devuelve true. ¿Hay una manera de dibujar a un mapa de bits mientras se aprovecha la aceleración de hardware? ¿O tengo que dibujar directamente a la pantalla en el método onDraw?

Gracias por tu ayuda 🙂 Sé que en Java puedo dibujar a un BufferedImage fuera de pantalla y será hardware acelerado, pero tal vez no es lo mismo en un teléfono …

    One Solution collect form web for “Android Canvas y Aceleración de Hardware?”

    Porque en el primer caso, usted crea el lienzo, no es respaldado por una capa de hardware. Además, a partir de ahora, no puede habilitar HWA en cualquier lienzo, debe pertenecer a una vista HWA.

    Una vista, por otro lado, tiene acceso a las capacidades de hardware del sistema. Puede usarlo llamando a setLayerType( LAYER_TYPE_HARDWARE) como se describe en docs:

    Indica que la vista tiene una capa de hardware. Una capa de hardware está respaldada por una textura específica del hardware (generalmente Frame Buffer Objects o FBO en hardware OpenGL) y hace que la vista se procese utilizando la canalización de procesamiento de hardware de Android, pero sólo si la aceleración de hardware está activada para la jerarquía de vistas. Cuando se desactiva la aceleración de hardware, las capas de hardware se comportan exactamente como capas de software.

    Además, la preocupación por el rendimiento se aplica más a la parte de representación, y menos al dibujo. Todas las operaciones de dibujo se registran como un objeto de imagen. Es la operación de renderización donde HWA juega un papel importante.

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.