Buenas noches, de nuevo yo (que no se note que tengo algunas dudas)  :-\

Mi pregunta es:

Que es mejor... usar varios eventos de colisiones los cuales tengan adentro un script de lo que debe realizar al colisionar o uso una alarma con un code script (piece of code) el cual tenga las detecciones de las colisiones y realice lo indicado al colisionar (collision_point(x,y,obj,prec,notme))?

cual me brindaria mayor rendimiento y consumiria menos recursos?

Muchas gracias.  :-[

#1 Abril 30, 2015, 05:36:34 AM Ultima modificación: Abril 30, 2015, 05:50:17 AM por penumbra
Mi opinión personal es que no hay que excederse buscando la optimización perfecta. No quiero decir que no haya que preocuparse por usar código eficiente, pero si al final, una supuesta optimización me va a dar un beneficio marginal, me parece que no hay justificación.

Cita de: jrjhairrios en Abril 30, 2015, 04:55:08 AM
Que es mejor... usar varios eventos de colisiones los cuales tengan adentro un script de lo que debe realizar al colisionar o uso una alarma con un code script (piece of code) el cual tenga las detecciones de las colisiones y realice lo indicado al colisionar (collision_point(x,y,obj,prec,notme))?
Depende de a quién le preguntes y qué quieres lograr y qué exigencias tenga tu juego. A mi modo de entender, si GM ya te da un evento para detectar colisiones, ¿por qué usar una alarma para implementar lo mismo? Es cierto que como la alarma se ejecutaria con menos frecuencia que el evento de colisión, se estaría usando menos CPU, pero también es cierto que se está sacrificando exactitud/precisión a la hora de evaluar colisiones, porque en el intervalo en el que el evento de la alarma no se llama (que pueden ser varios steps), pueden ocurrir colisiones que no se van a evaluar o se van a evaluar de forma tardía (mientras otras cosas y eventos siguen pasando).

En general, yo prefiero tener un sistema de detección de colisiones que reaccione rápido, aunque requiera más recursos, que un sistema "ligero" con riesgos de tener "lagunas" en las colisiones.

En la práctica, es totalmente posible comprobar cuál de los dos métodos es más eficiente (con números exactos) mediante el debugger de GM:S