Nirvan Opublikowano 9 Stycznia 2012 Udostępnij Opublikowano 9 Stycznia 2012 Gdy dodaję surfacesa to gra zwalnia do 30 fps chociaz ze np fraps pokazuje 60fps. Robię prosty surface: GML Create: surf=surface_create(view_wview,300) Step: surface_set_target(surf) screen_redraw() surface_reset_target() I ten kod powoduje to całe spowolnienie. Ten Redraw musi tak strasznie działać? :| Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Konrad-GM Opublikowano 9 Stycznia 2012 Udostępnij Opublikowano 9 Stycznia 2012 screen_redraw() - Redraws the room by calling all draw events. Możliwe iż to jest 'problemem'. Spróbuj może z screen_refresh() Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Nirvan Opublikowano 9 Stycznia 2012 Autor Udostępnij Opublikowano 9 Stycznia 2012 nie pomogło, jest tak samo. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 9 Stycznia 2012 Udostępnij Opublikowano 9 Stycznia 2012 Jeśli masz gdzieś używać redraw i refresh co step to odpuść sobie ten pomysł, musisz zrobić to inaczej nie ma wyjścia. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Nirvan Opublikowano 9 Stycznia 2012 Autor Udostępnij Opublikowano 9 Stycznia 2012 To nie mam pojęcia jak inaczej zrobić wodę :D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 9 Stycznia 2012 Udostępnij Opublikowano 9 Stycznia 2012 sprite_create_from_screen będzie bardziej wydajne Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Exigo Opublikowano 10 Stycznia 2012 Udostępnij Opublikowano 10 Stycznia 2012 Wolne, bo rysujesz wszystkie drawy x2. Słowo klucz: set_automatic_draw(false);. : ) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Nirvan Opublikowano 10 Stycznia 2012 Autor Udostępnij Opublikowano 10 Stycznia 2012 nie pomogło :P zawiesza gre Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 10 Stycznia 2012 Administratorzy Udostępnij Opublikowano 10 Stycznia 2012 W draw nie powinnien się znajdywać zaden refresh. A set_automatic_draw(false) nie zawiesza gry, zatrzymuje redrawowanie, a więc wykonywanie eventów draw i na ekranie zostaje ostatnia klatka. GML set_automatic_draw(false); ... set_automatic_draw(true); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Muuuuczek567 Opublikowano 10 Stycznia 2012 Udostępnij Opublikowano 10 Stycznia 2012 Jak chcesz zrobić odbicie wody, to tak jak mówi HuderLord, sprite_create_from_screen. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Exigo Opublikowano 11 Stycznia 2012 Udostępnij Opublikowano 11 Stycznia 2012 Wyłącz autodraw na starcie, a w np. jakimś stepie targetuj surface wielkości ekranu i wywołuj redraw. Step będzie wyglądał tak (po kolei): targetujesz surface od ekranu, robisz redraw, zamykasz target, rysujesz surface (draw _surface). Pomiędzy resetem targeta a rysowaniem, masz jedyne miejsce w kodzie gdzie dokonujesz wszelkich operacji, np. robisz sobie z tego wodę, i nadpisujesz do surface przed końcowym rysowaniem. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się