David Dark Opublikowano 20 Kwietnia 2008 Udostępnij Opublikowano 20 Kwietnia 2008 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. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
propaganja Opublikowano 20 Kwietnia 2008 Udostępnij Opublikowano 20 Kwietnia 2008 nie za bardzo rozumiem o jaki moment chodzi. kiedy on wystepuje? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
David Dark Opublikowano 20 Kwietnia 2008 Autor Udostępnij Opublikowano 20 Kwietnia 2008 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? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Uzjel Opublikowano 20 Kwietnia 2008 Udostępnij Opublikowano 20 Kwietnia 2008 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: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
David Dark Opublikowano 20 Kwietnia 2008 Autor Udostępnij Opublikowano 20 Kwietnia 2008 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. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Yoda Opublikowano 20 Kwietnia 2008 Udostępnij Opublikowano 20 Kwietnia 2008 Ale te potwory są deaktywowane? I jak deaktywujesz 100 to jest ok, a jak 200 to spada? Bo nie wiem czy dobrze zrozumiałem :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
David Dark Opublikowano 20 Kwietnia 2008 Autor Udostępnij Opublikowano 20 Kwietnia 2008 Tak dokladnie, wszystkie potwory poza view sa deaktywowane, ale ich liczba ma ciagle wplyw na FPS. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Uzjel Opublikowano 20 Kwietnia 2008 Udostępnij Opublikowano 20 Kwietnia 2008 Ale w sumie jakoś trzeba przechowywać dane o obiekcie. Może to to ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Yoda Opublikowano 20 Kwietnia 2008 Udostępnij Opublikowano 20 Kwietnia 2008 Hmmm, może GMowa deaktywacja się nie wyrabia ;D Hmmm a zrób test i daj do rooma ze 500 potworków. Sprawdź co się stanie ;P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
David Dark Opublikowano 20 Kwietnia 2008 Autor Udostępnij Opublikowano 20 Kwietnia 2008 no poprostu fps spada mi do polowy :p Edit ok jeszcze cos ciekawszego, ten kod na deaktywacje nie ma zadnego wplywu na FPS, czy jest czy nie, cos jest nie tak :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Uzjel Opublikowano 20 Kwietnia 2008 Udostępnij Opublikowano 20 Kwietnia 2008 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 ); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
David Dark Opublikowano 20 Kwietnia 2008 Autor Udostępnij Opublikowano 20 Kwietnia 2008 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 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Uzjel Opublikowano 20 Kwietnia 2008 Udostępnij Opublikowano 20 Kwietnia 2008 " 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... :/ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
David Dark Opublikowano 20 Kwietnia 2008 Autor Udostępnij Opublikowano 20 Kwietnia 2008 mam ######stego kompa. nie zabiera, skoro to bez roznicy czy daje ten kod na deaktywacje czy nie? Tak jakby go tam wogole nei bylo :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Cekol Opublikowano 20 Kwietnia 2008 Udostępnij Opublikowano 20 Kwietnia 2008 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 :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
David Dark Opublikowano 20 Kwietnia 2008 Autor Udostępnij Opublikowano 20 Kwietnia 2008 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: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 21 Kwietnia 2008 Udostępnij Opublikowano 21 Kwietnia 2008 OK czyli kod na deaktywacje mam dobry.Nie. Jest beznadziejny. Choć w sumie Tobie może to wystarczać. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
David Dark Opublikowano 21 Kwietnia 2008 Autor Udostępnij Opublikowano 21 Kwietnia 2008 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. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi