Jeszcze taki drobny tip.
for(i=view_xv...
for(var i=view_xv... dopisanie tego var przyspiesza pętlę
Na surface:
GML (create)
/// rysowanie siatki na surfacce
gestosc = 32;
surface_siatka = surface_create( view_wview + 2*gestosc, view_hview + 2*gestosc );
surface_set_target( surface_siatka )
draw_clear_alpha(0, 0);
draw_set_colour(0);
for(var i = 0; i <= view_wview+gestosc*2; i+= gestosc)
{
for(var j = 0; j <= view_hview+gestosc*2; j+= gestosc)
{
draw_line(i,j,i,j+view_hview)
draw_line(i,j,i+view_wview,j)
}
}
surface_reset_target();
GML (draw)
/// rysowanie surface na ekranie
draw_surface( surface_siatka, view_xview div gestosc * gestosc - gestosc,
view_yview div gestosc * gestosc - gestosc );
Zaleta jest oczywista, cała matematyka wykonuje się raz ( w create ) oraz nie ważne jaka będzie gęstość czy 4, 16, 32, 128 nigdy to nie wpłynie na różnicę w fpsach.
Po za tym na surface możesz sobie ładne pola rysować zamiast tych lini za pomocą draw_sprite i to nadal nie wpłynie na zmianę fpsów.