Skocz do zawartości

Zablokowane Dyskusja o dezaktywacji


Rekomendowane odpowiedzi

Opublikowano

Witam,

uzywam typowego skryptu na dezaktywowanie obiektow:

GML
instance_deactivate_region( view_xview[0]-40, view_yview[0]-40, view_xview[0]+720, view_yview[0]+720, false, 1 );

instance_activate_region( view_xview[0]-40, view_yview[0]-40, view_xview[0]+720, view_yview[0]+720,1 );

//obiekty poza viewem ktore maja pozostawac aktywne

instance_activate_object( jakisobiekt );

 

Sprawdzalem ile moge pozostawic obiektow poza viewem, no i przy 100 potworkach wszystko jest wporzadku, jednak juz przy 200 fps spada juz do 57fps. Zastanawiam sie wiec czy ten kod na deaktywacje jest troche niedoskonaly, czy istnieje ten moment kiedy wszystkie obiekty sa aktywne zaraz po linijce

GML
instance_deactivate_region( view_xview[0]-40, view_yview[0]-40, view_xview[0]+720, view_yview[0]+720, false, 1 );

a zanim zostanie program zdezaktywuje obiekty poza view'em

GML
instance_activate_region( view_xview[0]-40, view_yview[0]-40, view_xview[0]+720, view_yview[0]+720,1 );

 

i czy to moze sprawiac ze jednak zabiera mi to troche tego FPSu, bo wyobrazalem sobie ze deaktywacja sprawia ze obiekty sa calkowicie wylaczaone jakby ich tam nie bylo i chocbym mial ich tam 1000 to FPS dalej bylby na najwyzszym poziomie.

 

Jesli to wyglada tak ze na ta jedna chwilke obiekty sa aktywowane i ma to wplyw na FPS to trzeba by to ominac, najpierw trzeba by sie zapytac czy dany obiekt jest w polu view'a, a dopiero potem powinna zapadac decyzja o aktywacji lub dalszej deaktywacji. Program musialby sprawdzac kazdy obiekt(np. potworów) z osobna, probowalem zrobic jakas sprytna petelke na to ale wyskakuja rozne bledy, jesli ktos stosuje dobry skrypt na deaktywacje odpowiednich obiektow danego typu i moglby sie podzielic to bylbym wdzieczny. Pozatym interesuje mnie tez odpowiedz na to pytanie czy pomiedzy ta aktywacja a deaktywacja jest ten moment kiedy obiekty sa aktywne i czy wogole mowie sensownie, ze dobrze by bylo omijac ten moment?

 

Z góry dzieki.

Opublikowano

shit 0o dobra, wogole niewazne, chodzilo mi o inny skrypt

 

zostaje tylko jedno zagadnienie w takim razie, ze ciagle obiekty deaktywowane zabieraja mi fps, ktos wie o co chodzi?

Opublikowano

Raczej nie. Kod się wykonuje cały w ciągu jednego stepa (albo mniej)

jak robisz np. pętle w której jest mnóstwo obliczeń. to komputer przycina.

Dlatego że czeka na obliczenie a zarazem skończenie danego kodu.

 

Więc odpowiedź brzmi raczej nie ;P

 

Dobranoc.

Uzjel :thumbsup:

Opublikowano

OK czyli kod na deaktywacje mam dobry. Czy jednak normalne jest ze obiekty deaktywowane zabieraja fps. Jest sytuacja ze jesli mam 100 potworkow poza ekranem to fps jest full, 200 juz 57/60.

Opublikowano

Dziwne :blink:

napewno robisz wszystko dobrze ?

Coś ala:

GML
//Oszczedzanie pamieci

xx = o_gracz.x;

yy = o_gracz.y;

instance_deactivate_region( xx - 450, yy - 450, 900, 900, false, 1 );

instance_activate_region( xx - 450, yy - 450, 900, 900, true );

 

//Lista niezbędnych

instance_activate_object( o_wazny_obiekt );

Opublikowano

wlasnie stad to wzialem lepsze niz uzwanie instance_deactivate_all

 

wlasnie patrze na kod jakos nie widze powodu dla ktorego mialby nie dzialac :/

ok nawet z tym nie dziala, ani jak przeniose kod do innego obiektu... ehhh co za zycie 0_0

Opublikowano

" Zuuuoooo... :blink: "

Nie wiem jak Ci pomóc :/

 

Albo masz słabego PC. Co raczej i tak się chyba mało ma do tego.

Albo faktycznie deaktywacja zabiera 0.1% FPS... :/

Opublikowano

Na początku roomu zdeaktywuj wszystkie potwory.

 

W stepie gracza, aktywuj tylko to co mamy na ekranie, a w aktywnych potworach, które wykryją że są poza wiev'em daj deaktywacje siebie.

 

powinno być dobrze :)

Opublikowano
Na początku roomu zdeaktywuj wszystkie potwory.

 

W stepie gracza, aktywuj tylko to co mamy na ekranie, a w aktywnych potworach, które wykryją że są poza wiev'em daj deaktywacje siebie.

 

powinno być dobrze :)

chyba nie wiesz co piszesz? :jezor:

Opublikowano
OK czyli kod na deaktywacje mam dobry.
Nie. Jest beznadziejny.

Choć w sumie Tobie może to wystarczać.

Opublikowano
Nie. Jest beznadziejny.

Choć w sumie Tobie może to wystarczać.

Zacznijmy od tego ze ten kod wogole nie dziala, dlatego go usunalem i po szkole bede kombinowac z innym.

 

Moze moglbys podac mi lepszy kod na deaktywacje?

 

OK problem rozwiazany, dziala jak nalezy.

zamykam.

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...