Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: Maniarts en Mayo 22, 2012, 08:47:49 PM

Título: Reducir usa de caracteres en GML (SOLUCIONADO)
Publicado por: Maniarts en Mayo 22, 2012, 08:47:49 PM
Reducir el uso de caracteres en GML disminuye peso del exe o acelera la lectura del codigo?
Ejemplo:

CODIGO LARGO (MUCHOS CARACTERES)
x=x+1;
y=y-2;


CODIGO CORTO (POCOS CARACTERES)
x+=1
y-=2
Título: Re:Reducir usa de caracteres en GML
Publicado por: Mgbu en Mayo 22, 2012, 10:01:24 PM
No creo... no se cuanto pero estoy seguro que de eso casi ni hace diferencia
Título: Re:Reducir usa de caracteres en GML
Publicado por: MaanuRP en Mayo 22, 2012, 10:11:15 PM
La reduccion de caracteres me imagino que dependera de cual.

Porque hay cosas que se pueden poner o no, y sigue siendo lo mismo (Ejemplo: Espacios (" ") o puntos y comas (";")) que se supone que cuando el GM lo compila en el exe, esas cosas fue igual si las pusiste o no, por lo que no creo que se modifique el peso.

En cuanto al ejemplo que diste tu, quizas si, pero muy infimo si es ese ejemplo, aunque quizas que si lo haces en un bucle de 1 trillon de veces quizas se vea afectado pero en la velocidad, ya que un bucle se escriba una sola vez pero se lee todas las que debe.

Para verlo, podriamos hacer un codigo con 50 ifs, y otro igual pero con un switch, no se cuantos caracteres tendras de diferencia, pero creo que lo podriamos usar como un ejemplo
Título: Re:Reducir usa de caracteres en GML
Publicado por: shaoran en Mayo 22, 2012, 10:14:31 PM
En bloques de codigos pequeños no hace la diferencia,pero en bloques largos y constantes si que lo hace.
En resumen, no es lo mismo 60 caracteres por Step que 800 caracteres por step.
Esto se nota mas en Rooms lleno de objetos donde la poca optimizacion hace que el juego se vuelva lento.
Imaginate un evento "Step" de 6 objetos que se crean cada cierto tiempo,ese evento tiene 13 caracteres de codigo.Los objetos se crean cada 10 segundos
(Lineas ejecutadas por step para el Objecto X )
10: 13 caracteres
20: 26 caracteres
30: 39 caracteres
40: 52 caracteres
50: 65 caracteres
60: 78 caracteres

En 1 minuto se llegara a las 78 caracteres, y a todo esto hay que sumarle los recurso que de por si consume una funcion que podria estarse ejecutando ( por ejemplo si estas 13 caracteres son para usar "Particulas" ).

Reitero que esto es si se trata de algo muy grande y mas complejo , no hay diferencias con juegos pequeños.
Título: Re:Reducir usa de caracteres en GML
Publicado por: MaanuRP en Mayo 22, 2012, 11:47:44 PM
Cita de: shaoran en Mayo 22, 2012, 10:14:31 PM


Toda tu explicacion se refiere al rendimiento del juego, cierto?

Pero en cuanto al tamaño del .exe, seria muy raro que sea notable la diferencia en cuanto a los codigos que dio como ejemplo Maniarts, verdad?




A mi tambien me intereso la duda, por eso pregunto xD
Título: Re:Reducir usa de caracteres en GML
Publicado por: Maniarts en Mayo 23, 2012, 03:44:28 AM
Cita de: shaoran en Mayo 22, 2012, 10:14:31 PM
En bloques de codigos pequeños no hace la diferencia,pero en bloques largos y constantes si que lo hace.
En resumen, no es lo mismo 60 caracteres por Step que 800 caracteres por step.
Esto se nota mas en Rooms lleno de objetos donde la poca optimizacion hace que el juego se vuelva lento.
Imaginate un evento "Step" de 6 objetos que se crean cada cierto tiempo,ese evento tiene 13 caracteres de codigo.Los objetos se crean cada 10 segundos
(Lineas ejecutadas por step para el Objecto X )
10: 13 caracteres
20: 26 caracteres
30: 39 caracteres
40: 52 caracteres
50: 65 caracteres
60: 78 caracteres

En 1 minuto se llegara a las 78 caracteres, y a todo esto hay que sumarle los recurso que de por si consume una funcion que podria estarse ejecutando ( por ejemplo si estas 13 caracteres son para usar "Particulas" ).

Reitero que esto es si se trata de algo muy grande y mas complejo , no hay diferencias con juegos pequeños.
La respuesta de Shaoran me parece mas amplia, clara y razonable. gracias a todos por responder.

PREGUNTA SOLUCIONADA
un punto mas para la comunidad
Título: Re:Reducir usa de caracteres en GML
Publicado por: Texic en Mayo 23, 2012, 05:01:31 AM
No es más facil comprobarlo?? Crear un ejecutable con un codigo y con otro, mirar el peso en bytes ya te da la diferencia de peso, y el rendimiento ya sabés, loop's increíblemente altos y muestra de fps, ha de ser ínfima igual la diferencia en ambos casos
EDIT: Increíble, saqué la diferencia de peso y x+=1 pesa más que x=x+1
Peso del ejecutabe con 3200 repeticiones de x+=1: 2,335,090 bytes
Peso del ejecutabe con 3200 repeticiones de x=x+1: 2,334,794 bytes
Como dije es ínfima la diferencia de peso, luego te saco la de rendimiento, pero no creo que tenga que ver con los caracteres sino con las funciones en sí, porque después de todo gm compila los ejecutables en código diferente al gml
Título: Re:Reducir usa de caracteres en GML
Publicado por: Maniarts en Mayo 23, 2012, 02:11:22 PM
Cita de: Texic en Mayo 23, 2012, 05:01:31 AM
No es más facil comprobarlo?? Crear un ejecutable con un codigo y con otro, mirar el peso en bytes ya te da la diferencia de peso, y el rendimiento ya sabés, loop's increíblemente altos y muestra de fps, ha de ser ínfima igual la diferencia en ambos casos
EDIT: Increíble, saqué la diferencia de peso y x+=1 pesa más que x=x+1
Peso del ejecutabe con 3200 repeticiones de x+=1: 2,335,090 bytes
Peso del ejecutabe con 3200 repeticiones de x=x+1: 2,334,794 bytes
Como dije es ínfima la diferencia de peso, luego te saco la de rendimiento, pero no creo que tenga que ver con los caracteres sino con las funciones en sí, porque después de todo gm compila los ejecutables en código diferente al gml
muy interesante tu prueba aunke ahora que lo recuerdo en GM7 cada vez que exportaba como exe, qunque no modificara el juego siempre me daba tamaños diferentes

EDIT: aun declarada mi pregunta solucionada me gustaria ver una prueba de alguien si se nota cambi alguno en cuanto a rendimiento(velocidad)