Prometeo, qua su gmi siamo tutti messi male, io non ho una scheda che va cambiata assolutamente, ho una scheda che andava cambiata assolutamente anche 6 anni fa
Eppure mi gira rallentato ma ad occhio direi sui 15-20 fps.
Ogre o non ogre dubito cambierebbe moltissimo, le draw calls non sono tantissime, ciò che pesa è proprio l'erba che da sempre è stato qualcosa di pesante se usata massivamente per ottenere buoni effetti, figuriamoci usando tutti quei triangoli per ogni filo d'erba!!!
L'erba è ancora oggi un piano e non qualcosa di "solido", e ancora oggi è spessissimo generata con un quad con la texture di erba, così come per il fogliame e tutto (vedi gli alberi del mio esempio)
La soluzione migliore e semplice per ottenere una buona erba/fogliame non seghettato è l'alpha testing che non esistendo in gm non si può fare altrimenti se non disattivando l'interpolazione per la texture di erba/fogliame (infatti nell'esempio l'avevo disattivata per evitare bug riguardanti l'alfa)
Fai l'erba con una manciata di quads texturati intrecciati tra loro a caso e l'erba sarà già più veloce (anche se cè comunque un limite)
Se l'erba è molta è consigliabile addirittura fare dei gruppi di fili d'erba, anche ripetuti in modo da avere un'unico modello che raggruppa tanti fili d'erba, questo aumenterà le prestazioni lato gm dando più spazio possibile di lavorare alla scheda video.
Come hai fatto modelli del terreno dovrai fare modelli di gruppi di fili d'erba.
PS: Ovviamente il raggruppamento è una cosa che permetterò di fare automaticamente su Lizard
PPS: La versione con alberi gira fluida, è proprio l'erba che pesa. Anche disattivare l'illuminazione per l'erba potrebbe portare a miglioramenti.
Hai 8 luci, usale bene, calcolare la distanza dal modello per ogni luce e attivare/disattivare quelle opportune di conseguenza eviterà lo spreco e permetterà di utilizzare più di 8 luci nella scena. Basta che ogni volta che disegni un modello attivi solo le 8 luci più vicine ad esso e puoi averne tendenzialmente infinite nella room.
PPPS: Il livello è molto scuro e le luci si vedono poco, con game maker una buona cosa da fare sarebbe cercare di evitare di usare texture molto scure ma usarle abbastanza "brillanti" e sfruttare bene il colore della luce per ottenere l'effetto desiderato.
Prossimo step di NJAssimp causa necessità di Lizard: Supporto materiali!