Paqoo Opublikowano 26 Kwietnia 2008 Udostępnij Opublikowano 26 Kwietnia 2008 Tworzę grę Rpg. Mam tam ekwipunek oparty na draw, pozycjach, tablicach itp. Bardzo to żre pamięć. Co mam zrobić żeby nie było tylu lagów? Bo czasami muszę klikać z 40 razy na przedmiot zanim go wezmę do ekwipunku. Ogólnie to gra będzie spora, więc wszelkie rady dotyczące optymalizacji się przydadzą. Co dużo zajmuje pamięci, a co mało? Piszcie o dodatkowych rzeczach nie tylko ten plecak z itemami. Mam nadzieję, że dowiem się od was wielu ważnych rzeczy :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Konrad-GM Opublikowano 27 Kwietnia 2008 Udostępnij Opublikowano 27 Kwietnia 2008 1. Tylko w grach multiplayer są lagi :P 2. Kwestia aktywowanych obiektów i postaraj się jak najmniej ich używać ;) 3. Używaj for/while gdy jest to bardzo konieczne Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Paqoo Opublikowano 27 Kwietnia 2008 Autor Udostępnij Opublikowano 27 Kwietnia 2008 Jeśli niszczę wcześniej wywołany obiekt to zwalniam pamięć? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
fervi (Skovv) Opublikowano 27 Kwietnia 2008 Udostępnij Opublikowano 27 Kwietnia 2008 tak, ale aby zszybszyć grę, weź dawaj - w sprite i sound jest load when game start czy coś takiego, to to odznaczaj - możesz dać za pomocą CTRL+ALT+DEL w procesach priorytet wysoki, co przyspieszy działanie (w procesach kliknij na proces swojej gry i prawym i tam będzie wybierz piorytet) Fervi Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Harv Opublikowano 27 Kwietnia 2008 Udostępnij Opublikowano 27 Kwietnia 2008 - możesz dać za pomocą CTRL+ALT+DEL w procesach priorytet wysoki, co przyspieszy działanie (w procesach kliknij na proces swojej gry i prawym i tam będzie wybierz piorytet) Głupek! MS ostrzega przed tym, to może wywołać niepożądane skutki itp. Poza tym, każdy będzie musiał to włączać? Do tematu: - zmniejsz ilość obiektów, zmiennych. -zasoby ładuj podczas startu gry, nie w czasie -optymalizuj kod Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
dziadekkleofas Opublikowano 27 Kwietnia 2008 Udostępnij Opublikowano 27 Kwietnia 2008 - możesz dać za pomocą CTRL+ALT+DEL w procesach priorytet wysoki, co przyspieszy działanie (w procesach kliknij na proces swojej gry i prawym i tam będzie wybierz piorytet) Można to zrobić z poziomu Game Makera, ustawiając odpowiednią opcję. Wtedy gra automatycznie wystartuje z takim i siakim priorytetem. Zresztą wbrew pozorom daje to dobre efekty, no chyba że mamy włączone już coś obciążającego. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Driger Opublikowano 27 Kwietnia 2008 Udostępnij Opublikowano 27 Kwietnia 2008 Głupek! MS ostrzega przed tym, to może wywołać niepożądane skutki itp. Poza tym, każdy będzie musiał to włączać? Do tematu: - zmniejsz ilość obiektów, zmiennych. -zasoby ładuj podczas startu gry, nie w czasie -optymalizuj kod I tu sie nie zgadzam , i gra takim sposobem moze ladowac sie nawet 30 min . To nie tak. Laduj tylko potrzebne rzeczy przy starcie , a potem przed plansza laduj te ktore beda potrzebne na planszy. A potem wywalaj kodem z pamieci. Staraj sie dezaktywowac wszystkie obiekty poza viewem. Nie wlaczaj ignorowania bledu , bo moze to przez blad jakis co sie wykonuje co step masz przycinki. Nie wal zbednie duzo obiektow . Staraj sie nie ladowac takze bardzo dobrej jakosci mp3 czy cos , bo tez moze byc tego wina. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
fervi (Skovv) Opublikowano 27 Kwietnia 2008 Udostępnij Opublikowano 27 Kwietnia 2008 Głupek! MS ostrzega przed tym, to może wywołać niepożądane skutki itp. Poza tym, każdy będzie musiał to włączać? Do tematu: - zmniejsz ilość obiektów, zmiennych. -zasoby ładuj podczas startu gry, nie w czasie -optymalizuj kod Sam jesteś głupkiem, jeśli dajesz na czas rzeczywisty to się nie dziw, że ci się komputer zaciął, jeśli dasz na wysoki, błędów nie powinno być, jeszcze przed tym wyłącz programy (najlepiej wszystkie możliwe) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Paqoo Opublikowano 27 Kwietnia 2008 Autor Udostępnij Opublikowano 27 Kwietnia 2008 Dzięki za te wszystkie rady. Dodam, że tablice i pętle to połączenie wybuchowe - zżera pamięć i to bardzo :( Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Harv Opublikowano 27 Kwietnia 2008 Udostępnij Opublikowano 27 Kwietnia 2008 Jeśli używasz pętli for, to ustaw limit, może to coś da. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Paqoo Opublikowano 27 Kwietnia 2008 Autor Udostępnij Opublikowano 27 Kwietnia 2008 Ale jak to zrobić? Mam pozwalać działać tylko np. 1 pętli? :o Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Harv Opublikowano 27 Kwietnia 2008 Udostępnij Opublikowano 27 Kwietnia 2008 Nie, chodzi o to, że pętla for tworzy tablice w nieskończoność a ty np. potrzebujesz do 30 itemów: GML if zmienna >= 30 { //petla for } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Paqoo Opublikowano 27 Kwietnia 2008 Autor Udostępnij Opublikowano 27 Kwietnia 2008 Aha, no dobra spróbuję. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Yoda Opublikowano 27 Kwietnia 2008 Udostępnij Opublikowano 27 Kwietnia 2008 Nieumiejętne użycie zżera pamięć panowie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Paqoo Opublikowano 27 Kwietnia 2008 Autor Udostępnij Opublikowano 27 Kwietnia 2008 A ten jak zawsze. No to daj rady. 90% twoich postów to narzekanie na innych ludzi. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Yoda Opublikowano 27 Kwietnia 2008 Udostępnij Opublikowano 27 Kwietnia 2008 Czy ja na kogoś narzekam? Przewrażliwieni jesteście. Do rzeczy: Owszem, w GM tablice nie są zbyt wydajne, dlatego nie należy robić ich zbyt wielkich. Mimo wszystko tablice = dobra rzecz, sam bardzo często ich używam. Jednak nie sądzę by plecak na tablicach zwalniał grę. Problemem są obiekty - duuuża ich ilość -> w środku syf w kodzie -> który na dodatek jest niewydajny. Poza tym duża ilość różnych obiektów w projekcie też IMO robi straszny syf. Przykładowo: Chcę zrobić żołnierzy: miecznika, łucznika, pikiniera. 90% z was zrobiłaby osobne obiekty i np. dała parent. A nie lepiej zrobić jeden obiekt 'Jednostka' i przy pomocy zmiennych/tablic zmieniać wartości i dostosować ją w zależności od typu? Zresztą wrzucę dziś jeden przykład tam będzie takie rozwiązanie. Wierzcie mi, w ChaosLandzie nie mam jeszcze deaktywacji obiektów, a całość razem z 'ekosystemem' i innymi bzdetami w ogóle nie spowalnia/przycina/nie ma spadku FPS w grze. A jeszcze co do innych 'ciężkich' rzeczy: Pętle - jak najmniej i nie używane cały czas. Inna sprawa - większość kodu wewalacie w step chociaż można by go użyć zupełnie gdzie indziej, np. Chcę sprawdzić czy mam już 100 punktów. Można dać warunek w step i ciągle sprawdzać, a można równie dobrze dać ten warunek jedynie w akcję po zebraniu punktu (np. kolizja). Poza tym Pamiętajcie cały czas o tym, że GM jest strasznie jakby to nazwać, no niewydajny i w ogóle trzeba się strasznie pilnować, zwłaszcza przy dużych projektach. No. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Paqoo Opublikowano 27 Kwietnia 2008 Autor Udostępnij Opublikowano 27 Kwietnia 2008 Moja gra zaczyna być dużym projektem xD Nazbierałem materiałów przy pracy z Cursed Kingdom ONLINE i teraz zrobię z tego single player! :P Czekam na ten przykład.. Na pewno się przyda. Da się to samo z itemami zrobić?:P Chyba nie? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Yoda Opublikowano 27 Kwietnia 2008 Udostępnij Opublikowano 27 Kwietnia 2008 Da się to samo z itemami zrobić?tongue2.gif Chyba nie? Jak to nie? Przecież tak mam w ChL. Tylko jeden obiekt. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Kaara Opublikowano 27 Kwietnia 2008 Udostępnij Opublikowano 27 Kwietnia 2008 Jeśli mi sie dobrze zdaje w Island też wszytstko było w 1 obiekcie, ściągnij i zobacz Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Yoda Opublikowano 27 Kwietnia 2008 Udostępnij Opublikowano 27 Kwietnia 2008 Tak. Ale w Islandzie był kijowy system Inventory. A ta metoda '1 obiekt' w połączeniu z moim nowym systemem inventory (jest przykład) działa bardzo dobrze, automatycznie jest prawie wszystko :cool2: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Paqoo Opublikowano 27 Kwietnia 2008 Autor Udostępnij Opublikowano 27 Kwietnia 2008 To super. Będę musiał popatrzeć i skomentować. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Konrad-GM Opublikowano 27 Kwietnia 2008 Udostępnij Opublikowano 27 Kwietnia 2008 @Yoda: Czyli rozwiązanie na for plecaka jest proste... przy pomocy surface! :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Paqoo Opublikowano 27 Kwietnia 2008 Autor Udostępnij Opublikowano 27 Kwietnia 2008 Hahahaha! Bardzo zabawne :) David Dark zalożył jakiś temat z pętlą. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Konrad-GM Opublikowano 27 Kwietnia 2008 Udostępnij Opublikowano 27 Kwietnia 2008 To nie był żart, naprawdę można to zrobić na surface :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
pablo1517 Opublikowano 27 Kwietnia 2008 Udostępnij Opublikowano 27 Kwietnia 2008 ładowanie zasobów nie ma nic do działania gry, chyba że ładujemy dynamicznie, czyli w momencie jak w roomie pokaże się nowy obiekt czy coś. Ładować zasoby najlepiej jest przed startem pokoju. Zakładamy, że wiemy co się w danym pokoju ma znaleźć, i ładujemy to, co nam w nim potrzebne - wsio. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Paqoo Opublikowano 28 Kwietnia 2008 Autor Udostępnij Opublikowano 28 Kwietnia 2008 Ma ktoś coś jeszcze do poradzenia? xD Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Yoda Opublikowano 28 Kwietnia 2008 Udostępnij Opublikowano 28 Kwietnia 2008 To nie był żart, naprawdę można to zrobić na surface tongue2.gif Tak samo czat - najlepiej na surface wyrysować raz i już! :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Paqoo Opublikowano 30 Kwietnia 2008 Autor Udostępnij Opublikowano 30 Kwietnia 2008 Dobra dostałem już dużo rad - wystarczy. Zamykam :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi