Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: eams1986 en Septiembre 17, 2015, 08:21:11 PM

Título: Activar y desactivar
Publicado por: eams1986 en Septiembre 17, 2015, 08:21:11 PM
Hola makeros como les va.

Tengo distintos enemigos en la room , como hago para activar y desactivar la instancias fuera de la view.

Gracias

Título: Re:Activar y desactivar
Publicado por: Guacusio en Septiembre 17, 2015, 08:53:46 PM
Utiliza las funciones instance_activate_region e instance_deactivate_region con las coordenadas y dimensiones de la view como la región a activar/desactivar.
Título: Re:Activar y desactivar
Publicado por: eams1986 en Septiembre 17, 2015, 08:58:26 PM
Hola gracias Guacusio, digamos en que evento utilizaria estos codigos ,

no se adonde ponerlos  :'( :'(

edito : con esto me ahorro memoria o no .

Gracias
Título: Re:Activar y desactivar
Publicado por: Guacusio en Septiembre 17, 2015, 10:02:54 PM
Más que memoria te ahorras uso de CPU ya que la memoria que utilizan las instancias desactivadas no es liberada pero sí se ignora el código de todos sus eventos y el dibujo de su sprite. Si la view se mueve permanentemente, tendrás que usar esas funciones en step ya que puede haber instancias que en cualquier momento entran o salen del view. El ejemplo del manual para instance_activate_region debiera servirte:

instance_deactivate_all(true);
instance_activate_region(view_xview[0],view_yview[0],view_wview[0],view_hview[0],true);


Ese código debiera ir en un objeto controlador en el evento step.
Título: Re:Activar y desactivar
Publicado por: penumbra en Septiembre 17, 2015, 10:17:01 PM
Lo que más impacta en el consumo de memoria es el uso de recursos/asstes.

Tu juego puede usar cientos o miles de variables y eso apenas impactará en el uso de RAM, en cambio, unos cuantos sprites/fondos de tamaño grande ocuparán una cantidad considerable de RAM, los temas musicales también consumen no poca RAM.
Título: Re:Activar y desactivar
Publicado por: eams1986 en Septiembre 17, 2015, 10:56:47 PM
Estoy trabajando con tiles y unas rooms de 31000 aproximadamente unas 300 instancias en cada room

Luego en total hay 11 niveles de 300 instancias .
Y los rooms de 31000 cada uno

Es por eso que quiero que la memoria no use mucho
Gracias
Título: Re:Activar y desactivar
Publicado por: penumbra en Septiembre 17, 2015, 11:27:45 PM
y según el debugger, ¿cuánta memoria está consumiendo el juego cuando estás en una habitación jugable?
Título: Re:Activar y desactivar
Publicado por: eams1986 en Septiembre 17, 2015, 11:36:46 PM
Pues la.verdad no lo se , solo vi de entrada sin meterme a ningun lado me decia como 24 megas pero el debugger me lo tira en kilobyte lo estoy redondeando
Gracias
Título: Re:Activar y desactivar
Publicado por: eams1986 en Septiembre 17, 2015, 11:50:02 PM
Cuanto seria lo normal por habitacion segun un calculo para que el juego no se pegue.


Gracias
Título: Re:Activar y desactivar
Publicado por: penumbra en Septiembre 17, 2015, 11:55:42 PM
24 MB es poco consumo en RAM.

Depende del dispositivo en donde se ejecute y del tipo de juego y su complejidad, pero mientras el consumo de RAM no se dispare por encima de los 200 o 300 MB, yo no me alarmaría. Igual hay que vigilar que el uso de CPU no sea alto.
Título: Re:Activar y desactivar
Publicado por: eams1986 en Septiembre 18, 2015, 12:38:11 AM
Como saber el uso del cpu??? :'( esto es nuevo para mi
:'(
Título: Re:Activar y desactivar
Publicado por: penumbra en Septiembre 18, 2015, 01:52:12 AM
https://www.yoyogames.com/tech_blog/56
https://www.yoyogames.com/tech_blog/30
Título: Re:Activar y desactivar
Publicado por: eams1986 en Septiembre 18, 2015, 02:00:32 AM
El segundo enlace ya lo habia visto me ayudo en algo pero lo del CPU no lo encuentro.
Gracias
Título: Re:Activar y desactivar
Publicado por: penumbra en Septiembre 18, 2015, 02:10:58 AM
Quizás te resulte más fácil de usar algo como
https://play.google.com/store/apps/details?id=com.bigbro.ProcessProfiler

en windows, el administrador de tareas trae información de cuánto CPU está demandando cada proceso.
Título: Re:Activar y desactivar
Publicado por: eams1986 en Septiembre 18, 2015, 02:50:16 AM
Este app parece genial por ahora esto es lo que me arroja
Puse la aplicacion y corri el juego en un nivel 9 donde parece que se traba en android y el resultado fue este

Avg CPU 11%
Max CPU 38%
Net :0kb 158mb

Gracias por la app
Título: Re:Activar y desactivar
Publicado por: eams1986 en Septiembre 18, 2015, 07:01:04 PM
Cita de: Guacusio en Septiembre 17, 2015, 10:02:54 PM
Más que memoria te ahorras uso de CPU ya que la memoria que utilizan las instancias desactivadas no es liberada pero sí se ignora el código de todos sus eventos y el dibujo de su sprite. Si la view se mueve permanentemente, tendrás que usar esas funciones en step ya que puede haber instancias que en cualquier momento entran o salen del view. El ejemplo del manual para instance_activate_region debiera servirte:

instance_deactivate_all(true);
instance_activate_region(view_xview[0],view_yview[0],view_wview[0],view_hview[0],true);


Ese código debiera ir en un objeto controlador en el evento step.

hize un obj_controlador_views  y en el step le puse el codigo y lo puse en la room ahora hay un problema y es que cuando me muevo las cosas de la pantalla desaparecen osea las vidas tiempo etc.
tambien cuando muere el player no me reinicia y si le quito el objeto controlador si funciona todo

Gracias
Título: Re:Activar y desactivar
Publicado por: Guacusio en Septiembre 19, 2015, 07:11:57 PM
Probablemente tienes alguna instancia que no tiene máscara de colisión o no está permanentemente dentro del view y que debe estar activa siempre. En ese caso tendrás que asegurarte de que siempre esté activa. Por ejemplo puedes modificar el código así:

instance_deactivate_all(true);
instance_activate_region(view_xview[0],view_yview[0],view_wview[0],view_hview[0],true);
instance_activate_object(objeto que dibuja las cosas de la pantalla);

Título: Re:Activar y desactivar
Publicado por: eams1986 en Septiembre 20, 2015, 01:08:18 AM
Gracias GUACUSIO  ;D no mas llegue a casa y lo boy a probar a ver si asi funka .

Gracias .