Czasami musisz sprawdzić, czy akceleracja 3D w Linuksie naprawdę działa (poza glxinfo
wyjściem). Można to szybko zrobić za pomocą glxgears
narzędzia. Jednak FPS są często ograniczone do pionowej częstotliwości odświeżania wyświetlaczy (tj. 60 fps). Narzędzie staje się więc mniej lub bardziej bezużyteczne, ponieważ nawet renderowanie programowe może łatwo generować przekładnie glxgears 60 klatek na sekundę na nowoczesnych procesorach.
Trudno mi było znaleźć szybkie i łatwe rozwiązanie tego problemu, odpowiadam na własne pytanie. Miejmy nadzieję, że zaoszczędzi to Twój czas.
vblank_mode=0
Otrzymuję teraz 1375,257 FPS na starym sterowniku wideo Intel i965 z OpenBSD 5.6.Jeśli używasz zamkniętych sterowników NVIDIA, możesz zmieniać tryb synchronizacji pionowej w locie za pomocą
__GL_SYNC_TO_VBLANK
zmiennej środowiskowej :Działa to dla mnie na Ubuntu 14.04 przy użyciu sterowników 346.46 NVIDIA.
źródło
Dla kart graficznych Intel i sterowników kart graficznych AMD / ATI opensource
Znajdź sekcję „Urządzenie”,
/etc/X11/xorg.conf
która zawiera jedną z następujących dyrektyw:Driver "intel"
Driver "radeon"
Driver "fglrx"
I dodaj następujący wiersz do tej sekcji:
I uruchom aplikację ze
vblank_mode
zmienną środowiskową ustawioną na0
:Dla grafiki Nvidia z zastrzeżonym sterownikiem Nvidia
Tę samą zmianę można wprowadzić w
nvidia-settings
interfejsie GUI, odznaczając opcję wX Screen 0 / OpenGL Settings / Sync to VBlank
. Lub, jeśli chcesz po prostu przetestować ustawienie bez modyfikowania~/.nvidia-settings-rc
pliku, możesz zrobić coś takiego:źródło
nvidia-settings --load-config-only --assign="SyncToVBlank=0"
aby po prostu zmienić ustawienia wyświetlacza X (i uniknąć modyfikowania pliku konfiguracyjnego lub uruchamiania GUI). Po uruchomieniuglxgears
możesz uruchomić,nvidia-settings --load-config-only
aby przywrócić ustawienia konfiguracyjne - co prawdopodobnie będziesz chciał zrobić, ponieważ jest to trwałe ustawienie dla działającego wyświetlacza X (tj. Nie tylko dla powłoki).Łącząc wszystkie inne odpowiedzi, oto wiersz poleceń, który będzie działać:
Ma to zalety, ponieważ działa zarówno ze sterownikami Mesa, jak i NVidia i nie wymaga żadnych zmian w plikach konfiguracyjnych.
źródło
Wyłączenie pola wyboru Synchronizuj z VBlank w ustawieniach nvidia (karta Ustawienia OpenGL) załatwia sprawę.
źródło
Znalazłem rozwiązanie, które działa na karcie intel i na karcie nvidia przy użyciu Bumblebee.
źródło
W przypadku sterowników Intel istnieje również ta metoda
źródło