2011-06-06 14 views
6

Hice un juego de mesa con solo algunas pequeñas animaciones. Reduje los fps de 60 a 30 para reducir la carga del procesador. Pero el dispositivo todavía se calienta mucho. Otra aplicación hecha sin cocos2d no la está calentando demasiado. ¿Hay algún método para calmar el iPhone? El estado del dispositivo es el siguiente:Posibilidades para reducir el consumo de energía con aplicaciones cocos2d

  • Wifi está siempre habilitada
  • La aplicación utiliza GameCenter
  • GPS está inactivo
  • fps es siempre el 30
  • utilizo cocos2d-iPhone como motor de
+2

¿Utiliza una conexión a Internet? Si tan a menudo? ¿Usas openfeint o centro de juegos? usas los gps? ¿reduces los fps a 4 cuando no estás animando? ¿Qué motor de juego estás usando (coccos-2d ?, raw gl abierto, animación central?) ... – Robert

Respuesta

2

Puede valer la pena experimentar con diferentes tipos de directores, p. kCCDirectorTypeNSTimer, y ver si eso ayuda en absoluto. Esos tendrán el mayor efecto en el ciclo principal del juego.

También deberías pasar un tiempo con Instruments si no lo has hecho ya que eso te mostrará dónde está pasando el tiempo la CPU y te dará algunas pistas sobre dónde podrías hacer las cosas más fáciles.

+0

Gran sugerencia. – Moshe

0

He notado que una secuencia de animaciones pequeñas en cocos2d toma mucho tiempo de procesador. He intentado hacer sugerencias en el nivel que pulso en tamaño. 0.1 segundo pulso arriba, 0.15 abajo y 0.2 estancia. Y lo puse todo en una secuencia para siempre. Todo fue terriblemente lento. Luego acabo de hacer la animación manualmente y el dispositivo se calmó y los fps aumentaron de nuevo a 60

+0

¿Puedes explicarme más? Nuestro juego tiene muchos 'Action' con menos de un segundo de duración. ¿Cómo podemos arreglarlo? – Emadpres

+0

@Emadpres: los cocos cambiaron significativamente desde la última vez que lo usé, así que sugiero que el perfil (hay un perfil en xcode) del juego y ver cuál es el cuello de botella real. Para animaciones, básicamente implementé animaciones manualmente en el método de actualización de sprite (cambiando los marcos) – Andrew

0

Al mostrar menús o cuadros de diálogo que no requieren animación, puede reducir aún más la velocidad de fotogramas.

Cuestiones relacionadas