Límites de memoria de Android Graphics

Estoy creando un juego android usando opengl y un puerto cocos2d (http://code.google.com/p/cocos2d-android-1). Estoy apuntando a una amplia gama de dispositivos y quiero asegurar que funciona bien. Yo sólo pruebo en un nexo uno y estoy esperando obtener algunas aportaciones de personas con experiencia en dispositivos más lentos.

Actualmente el juego utiliza dos texturas 1024×1024 así como dos texturas 256×256. ¿Está dentro de los límites de la mayoría de los dispositivos? ¿Alguien tiene alguna regla de oro o experiencia con límites de memoria de gráficos en estos casos? Si se supera la memoria gfx, ¿se registra en la memoria normal?

Afaik los límites de memoria para las texturas son los mismos que los límites de memoria de su aplicación, que es de 16 megas en la mayoría de las situaciones creo, aunque podría ser toda la memoria del teléfono disponible que es accesible.

He cargado mucho más que esto en mis aplicaciones antes de que me encontré con problemas, al menos una textura 2048×2048 y varias texturas 512×512, todos los 8888 en la memoria.

Nunca he tenido un error de oom en el enlace de textura, sólo en la carga de mapas de bits, así que espero que ayude.

Las aplicaciones Java son de 16Mo (mdpi) o 24Mo (hdpi). Pero Native no lo son y OpenGL Java API es sólo un contenedor JNI. Así que usted puede cargar en GPU más de 24Mo de textura. Mi experiencia fue limitar Atlas en 512 * 512 al principio (porque G1 era lento en grandes texturas) pero hoy uso textura de atlas más grande.

Nuestros juegos actuales usan 20-50 Mo de RAM y usan 2048 * 2048 texturas.

Antiguo post sé que hoy en día tu hablando por lo menos 128 MB en la VM para el espacio de carga disponible en mapas de bits en la memoria con android java.

Con las texturas que está cargando fuera del espacio de la aplicación (c). Así que el límite de carga es el mismo que la memoria de los teléfonos. (Te darás cuenta de los juegos intensivos en memoria que dibujan los iconos al volver a la pantalla de inicio)

  • Android SIGSEGV al dibujar ruta mediante aceleración de hardware
  • Traducción después de la rotación
  • Cómo tratar NaN o inf en los shaders de OpenGL ES 2.0
  • ¿Hay una solución de reproducción de video más rápida que las funciones de AndroidBitmap_xxx?
  • OpenGL ES 2.0 artefactos / dithering en FBO en Mali-400
  • Android: LibGDX 2D consumo de memoria del juego
  • Cómo ocultar la barra de estado de Android en el juego nativo escrito con gomobile
  • Transformación de perspectiva
  • Aplicar transformaciones de matriz a BoundingBox
  • ¿Cómo se muestra fps con opengl es (android)
  • Cómo obtener una pantalla EGL / contexto a un GLSurfaceView específico
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.