1. visible wyłącza tylko event draw w obiekcie. Cały kod w step, kolizje i wszystko inne wciąż jest przetwarzane, więc nie jest to dobre rozwiązanie.
2. Wszystko zależy. Warto dzielić wielkie obiekty na kilka po to aby móc je dezaktywować, ale jak zrobisz łąkę i każde źdźbło będzie obiektem to będzie to bardzo nie optymalne bo obiekty w GM mają za dużo własnych wbudowanych właściwości. Nie zdziwiłbym się gdyby każdy obiekt co step poruszał się o speed nawet gdy ten jest równy 0.
3. Kod aktywacji miałeś w dezaktywowanym obiekcie. Jeżeli obiekt jest dezaktywowany to nie wykonuje eventów, jeżeli nie wykonuje eventów to nie może sprawdzić warunków i się ponownie aktywować. Najlepiej robić 1 obiekt kontrolujący aktywację/dezaktywację (może ty być np gracz).
I gratis:
4. 3D nigdy nie będzie optymalne w GM.