Android Vista vs SurfaceView vs GLSurfaceView para la aplicación de dibujo 2D con Zoomable interfaz de usuario

Planeo escribir una aplicación de dibujo en 2D con una interfaz de usuario con zoom. Con la aplicación el usuario debe ser capaz de transformar (traducir y escalar) trazados dibujados (y, por supuesto, la interfaz de usuario). Supongo que habrá hasta 500 rutas al mismo tiempo. Ahora, me pregunto a qué punto de vista comenzar (Vista, SurfaceView o GLSurfaceView) con el fin de proporcionar un rendimiento aceptable. He leído un par de mensajes [1-6], incluyendo la guía de desarrolladores de android y todavía no estoy 100% seguro de qué punto de vista.

Según la presentación en Google I / O 2009 ( http://youtu.be/U4Bk5rmIpic?t=45m10s ) y el lienzo de experiencias propias (View y SurfaceView) no parece estar funcionando lo suficientemente rápido cuando se manejan más de 100 rutas.

¿Alguien ve una posibilidad en la aplicación de la aplicación utilizando lienzo o es OpenGL el camino a seguir?

[1] Android: Decidir entre SurfaceView y OpenGL (GLSurfaceView)

[2] ¿ SurfaceView o GLSurfaceview?

[3] ¿ Diferencia entre SurfaceView y View?

[4] http://pierrchen.blogspot.jp/2014/03/anroid-graphics-surfaceview-all-you.html

[5] Diferencia entre SurfaceView y ImageView

[6] Diferencia entre SurfaceView y GLSurfaceView en Android

Debido a sus preocupaciones de rendimiento, tendrá que utilizar la renderización de hardware. Las pantallas se vuelven cada vez más densas, por lo que tocar cada píxel del software es cada vez más lento.

Si desea dibujar con un lienzo, debe renderizar a una vista personalizada, con aceleración de hardware habilitada. La representación de lienzo en una Superficie siempre se hace con software.

SurfaceView y GLSurfaceView son casi la misma cosa; GLSurfaceView sólo tiene algunas funciones auxiliares que cuidan de algunas de las tareas domésticas para usted. Puede utilizar GLES para renderizar en SurfaceView y TextureView. Hay múltiples ejemplos de esto en Grafika .

Si desea saber lo que está pasando bajo el capó, consulte el documento System-Level Graphics Architecture .

Es posible que desee considerar el uso de un motor de juego de código abierto 2D. Que se encargará de la configuración de EGL, debe proporcionar código para la fuente de rendición GLES, y así sucesivamente.

  • Comprensión de los conceptos de lienzo y superficie
  • Android: dibujo en un nuevo lienzo
  • Android: El tamaño de la vista previa de la cámara admitida es incorrecto
  • Android Take Captura de pantalla de Vista de superficie muestra negro
  • Android Surfaceview Hilos y fugas de memoria
  • Android: Crash: Línea de archivo XML binario: Error al inflar la clase (usando SurfaceView)
  • SurfaceView y ANownWindow
  • Android: hilo deteniéndose intermitentemente
  • ¿Por qué onTouchEvent de SurfaceView llamado unos segundos retrasados?
  • Tomar una foto lo más rápido posible con la API de la cámara en Android
  • Vista previa de la cámara Android en una pantalla cuadrada estirada
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.