Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: Momfus en Agosto 02, 2012, 03:35:38 AM

Título: Sprite_index aumenta sin parar
Publicado por: Momfus en Agosto 02, 2012, 03:35:38 AM
Tengo una duda con game maker: al poner el modo de testeo y que me muestre las variables un objeto, si no tiene sprites, este va aumentando la variable "sprite_index" (que corresponde a la imagen del objeto que no tiene) sin parar...esto puede perjudicar el rendimineto del juego de algun modo...porque tengo 5 objetos que uso de control del juego que no tienen sprite y hacen eso.

Saludos y gracias a cualquiera que me ayude.
Título: Re:Sprite_index aumenta sin parar
Publicado por: MaanuRP en Agosto 02, 2012, 03:46:51 AM
Es cierto, nunca me habia puesto a ver eso!

Que perjudique el rendimiento, la verdad que no creo. Si no esta dibujando nada, lo unico que hace es sumarle 1 a una variable. Pero por las dudas (A menos que estemos seguros de algo), le podemos agregar un image_speed = 0 en el evento create de los objetos sin sprite.
Título: Re:Sprite_index aumenta sin parar
Publicado por: Momfus en Agosto 02, 2012, 08:07:55 AM
Okas...hare eso, pero es una duda que me quiero sacar para asegurarme. Asi que por las dudas dejo la pregunta abierta por si alguno sabe a ciencia cierta si jode o no al rendimiento.
Título: Re:Sprite_index aumenta sin parar
Publicado por: elviskelley en Agosto 02, 2012, 02:57:53 PM
Si eso lo hace siempre y tambien con image_speed pero no le prestes atencion.
Título: Re:Sprite_index aumenta sin parar
Publicado por: Gunslito en Agosto 02, 2012, 03:23:25 PM
En el GM8 si tengo un objeto sin sprite en sprite_index me aparece -1 y en image_index sube sin parar.
Si te causa molestia podrias crearle un sprite transparente y en el create event del objeto ponerle image_speed=0
Título: Re:Sprite_index aumenta sin parar
Publicado por: MaanuRP en Agosto 02, 2012, 05:49:35 PM
Cita de: Gunslito en Agosto 02, 2012, 03:23:25 PM
En el GM8 si tengo un objeto sin sprite en sprite_index me aparece -1 y en image_index sube sin parar.
Si te causa molestia podrias crearle un sprite transparente y en el create event del objeto ponerle image_speed=0

Claro, igual no hace falta el sprite transparente, con solo agregarle image_speed = 0 en el evento create es suficiente.
Igual por lo que dijo Elvis, no nos tendriamos que hacer problema con esto.
Título: Re:Sprite_index aumenta sin parar
Publicado por: Gunslito en Agosto 02, 2012, 05:57:53 PM
Cita de: MaanuRP en Agosto 02, 2012, 05:49:35 PM

Claro, igual no hace falta el sprite transparente, con solo agregarle image_speed = 0 en el evento create es suficiente.
Igual por lo que dijo Elvis, no nos tendriamos que hacer problema con esto.
Claro pero a el sprite_index le sube infinitamente, y eso es del sprite.
A mi si el objeto no tiene sprite me tira -1 y ahi queda fijo, y con el image-speed=0 se arreglaría el image_speed que si me sube infinitamente. Por eso habia dicho lo del sprite transparente
Título: Re:Sprite_index aumenta sin parar
Publicado por: Mgbu en Agosto 02, 2012, 07:20:08 PM
Pero estoy seguro que eso no es ningun problema, imaginate que es una simple suma, eso para la PC no es nada
Por ejemplo uso un for que chequea colision como 50 veces por step, son 150 veces por segundo, ademas ese es un solo objeto, suelo tener mas de 3 por room
Y estoy seguro que sabes que chequear colisiones es muchiiisimo mas que una suma

Busque un poco (http://es.wikipedia.org/wiki/Operaciones_de_coma_flotante_por_segundo) y veo que hay una unidad que se llama FLOPS (Operaciones de Coma Flotante Por Segundo), Coma Flotante creo que es justo lo que usa GM para las variables
Mira este parte que cito:
Citar
Una computadora de escritorio, que usa por ejemplo un procesador Pentium 4 o Athlon 64, típicamente opera a más de 3 GHz, provee de un desempeño computacional del rango de unos cuantos GFLOPS. Aún algunas consolas de videojuegos del final de los años noventa y principios del 2000, tales como Gamecube y Dreamcast, tuvieron un rendimiento mayor a un GFLOPS.

Asi que suponiendo que tu PC es una Gamecube (LOL) y solo funciona a un GFLOP podría hacer 109 como dice mas arriba, eso son 1.000.000.000 sumas por segundo (mil millones)


Aviso que no se mucho de esto ;), acabo de saber hoy que es un FLOP. Pero me parece que el ejemplo esta bastante bien