Android gl abierto más lento que la tela?

estoy probando el androide SpriteMethodTest y en los ajustes por defecto el lienzo está recibiendo 58fps mientras que el gl abierto está entre 50-55fps, y la brecha se hace más grande con más sprites.

Estaba bajo la impresión de que opengl es más rápido que el lienzo, así que esto está mal? o es su algo mal con mi teléfono (deseo htc)?

http://code.google.com/p/apps-for-android/source/browse/trunk/SpriteMethodTest/

Cabe señalar que SpriteMethodTest no está utilizando OpenGL con la máxima eficiencia. Cada sprite se procesa con su propio conjunto de llamadas GL, donde idealmente muchos sprites deben ser agrupados en el menor número de llamadas a OpenGL como sea posible.

Hay un shootup de rendimiento de renderizado de sprite que sucede en JavaGaming.org ahora mismo, y libGDX es el líder actual. Cuando se maneja correctamente, OpenGL es la manera más rápida de dibujar cosas.

Probablemente no lo estás midiendo correctamente. ¿Cuántos sprites está usando? El FPS probablemente será el mismo con <10 sprites, pero tan pronto como empieces a aumentar el número de sprites, el sistema OpenGL definitivamente superará al sistema Canvas .

Para obtener más información sobre este tema, consulte este .

Probablemente debería primero perfilar su código para asegurarse de que realmente está representando donde está tomando su tiempo.

Yo … no puedo … comentar …

Eso es interesante que siempre había OpenGL fue más rápido también. De mi experiencia con mi aplicación encontré GL para ser mucho más rápido que el lienzo, pero estaba usando todos los números de punto fijo.

Eso sería sólo posible en el emulador o el dispositivo sin GPU

Acaba de ejecutar SpriteMethodTest en un HTC Tattoo (1.6, probablemente no GPU) y OpenGL es realmente malo en comparación con Canvas. Si para 100 sprites obtengo un poco más de 30fps, mientras que los 3 métodos de OpenGL están por debajo de 5 fps. Actualmente estoy usando lienzo para dibujar mi juego, pero estaba pensando en usar OpenGL de ahora en adelante para que pueda implementar un sistema de partículas que podría ser bastante intensivo de sprite.

Ahora estoy confundido, si no puedo obtener el rendimiento en dispositivos de gama baja con OpenGL por qué debería usarlo? ¿No es este el caso en la mayoría de los dispositivos? O tal vez el método utilizado en SpriteMethodTest no es el mejor (no he mirado el código todavía) como algunas personas están diciendo?

  • Mover sprite en Andengine
  • AndEngine Sprite / Box2D La eliminación del cuerpo bloquea mi programa sin información de error / excepción?
  • Texturas en OpenGL ES 2.0 para Android
  • Sprite.setImage () en andengine
  • Animación de sprites en Cocos2d android
  • Andengine Sprites aparecen como cajas negras
  • AndEngine- Dibujo del niño del sprite detrás de su padre
  • Android: ¿Hay alguna manera de acelerar canvas.drawBitmap?
  • Dibuja una imagen 2D con OpenGL ES 2.0
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.