Rozmiar surfejsa także można zoptymalizować. Twórz go o rozmiarze widoku a nie rooma. A obiekty castujące światło w chwili rysowania na surfejsie przesuń o pozycję widoku.
GML
surface_set_target(surf);
draw_set_alpha(0.5)
draw_circle_color(x+8-view_xview,y+8-view_yview,96,c_white,c_black,false);
draw_set_alpha(1);
surface_reset_target();
I w oCień
GML
draw_surface(surf,view_xview,view_yview);