BufferStrategy i wyłączenie opcji przełączania strony tuż przed odświeżeniem monitora

Odpowiedz Nowy wątek
2011-09-12 17:54
0

Stosuję podwójne buforowanie, ale żeby nie kopiować buforu na ekran ciągle korzystam z BufferStrategy, który automatycznie zarządza dwoma buforami i tylko dla ekranu przekazuje wskaźnik do jednego buforu a na drugim coś się dzieje, potem przełącza na drugi bufor ekran itd. To bardzo wygodne i zwiększające szybkość, ale BufferStrategy zapobiega też efektowi szarpania (kiedy na ekran bufor jest wrzucany i w tym momencie ekran by się odświeżył mamy ledwo zauważalny efekt szarpania). Dlatego BufferStrategy automatycznie wrzuca bufor na ekran tuż przed odświeżeniem, co w efekcie przy 75Hz na monitorze daje nam max 75fpsów. Wiem, że to wystarczająco dużo, ale chciałbym też testować wydajność i potrzeba mi wiedzieć w użyciu jakich algorytmów mam 300 albo 400 fpsów.

Po opisaniu przypominam pytanie. Da się zrobić aby BufferStrategy dalej mi ładnie przełączał bufory, ale by dało się wyłączyć opcję przeciw szarpaniu?

Dokumentacja nie pomogła, ale może jest inne rozwiązanie?


C++ to wyjątkowy język - wysokopoziomowy z niskopoziomowymi mechanizmami, którymi można rozwalić w drobny mak te wysokopoziomowe.

Pozostało 580 znaków

2011-09-13 18:30
1

Wygoogluj sobie "active rendering". Wtedy możesz sobie robić benchmarki na 200-500 FPS niezależnie od częstotliwości uaktualniania ekranu przed grafikę. W sumie sprowadza się to do liczenia czasów zmiany stanu i renderowania bo rzeczywiste przełączanie strony (bez kopiowania bufora) trwa nanosekundy.


Jeżeli ktoś komuś coś, ewentualnie nikt nikomu nic, to właściwie po co...?

Pozostało 580 znaków

2011-09-14 04:54

Wcale nie musisz swapować po każdej klatce.. ja robiąc benchmarka zrobiłem to w osobnym wątku... wyszło coś takiego:
http://dev.keraj.net/javaballs

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0