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)?
- Android: animación de tween de un mapa de bits
- Cómo cargar sprite hoja con 5 filas y 5 columnas vista superior en android?
- Búsqueda de píxeles de borde de una imagen con envolvente transparente (para detección de colisión)
- Chase cámara con sprite en andengine
- ¿Los OpenGL Point Sprites funcionan en Android?
http://code.google.com/p/apps-for-android/source/browse/trunk/SpriteMethodTest/
- No se puede encontrar el ejemplo adecuado para la clase de sprite de OpenGL 2d que no usa GL11Ext para dibujar
- Convertir juego Spritekit a Android?
- Crear un gráfico al azar, seno como sprite paisaje
- LibGDX 1.5 girando sprite alrededor de su centro
- Cómo dibujar LibGDX Sprite de Constructor en blanco
- libgdx spritebatch no dibuja basado en el origen de una textura
- J2ME como Sprite en Android
- Los colores de ShapeRenderer dejan de funcionar al renderizar imágenes con SpriteBatch
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?