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

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?

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.

1

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

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