Skocz do zawartości

Surface zwalnia grę do 30fps


Nirvan

Rekomendowane odpowiedzi

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

  • Administratorzy

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

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

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ę
  • Ostatnio przeglądający   0 użytkowników

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