Barnack ha scritto:Si tratta di scripts che vengono sicuramente chiamati su oggetti che hanno parent comune e quindi hanno per certo quelle variabili
Penso si tratti di un dettaglio trascurabile (stando a quello che ho studiato).
In base alla mia esperienza, le cose che possono causare rallentamenti in Game Maker sono le seguenti:
- Funzioni contenenti cicli (andrebbero analizzate caso per caso).
- Chiamate a funzioni "pesanti" di Game Maker.
- Effetti particelle (sono lenti da disegnare).
- Se il livello è realizzato con le tile, più la view inquadra una porzione grande della room, più aumenta il numero di tile che devono essere disegnate, e questo potrebbe causare rallentamenti.
- Troppe istanze possono risultare pesanti da disegnare. Se le istanze sono invisibili, no problema. Ma, se si mettono degli eventi collision, si attiva il test delle collisioni, e questo può rallentare il gioco se le istanze con eventi collision sono tante.
- In generale, se ci sono tante istanze con codice (es. nell'evento Step), quel codice verrà eseguito per tutte le istanze nella room. Quindi bisogna fare in modo che questo codice sia performante.
(magari mi dimentico qualcosa)
Per quanto riguarda la 3D, d3d_model_draw ad esempio è pesante. A parità di numero di poligoni, è più conveniente disegnare meno modelli composti da tanti poligoni piuttosto che tanti modelli composti da pochi poligoni (testato).
Nota: Game Maker studio è più veloce, in quanto il codice viene compilato, non interpretato (testato anche questo!).