Dlaczego vblank_mode znacznie poprawia szybkość klatek w testach porównawczych?

8

Grzebię wokoło, próbując znaleźć najlepsze rozwiązanie graficzne dla mojego laptopa z Optimus Nvidia. (ASUS K55VD)

Mam trzmiela i używam optirun, kiedy chcę poprawić wydajność grafiki. Jedynym problemem jest to, że nie wiem, czy to naprawdę działa.

Kiedy wykonam np. glxgears otrzymuję następujące wyniki wydajności:

normalne glxgears na grafice Intel: arround 60 FPS
optirun glxgears na grafice nvidia: arround 1300 FPS

Cóż, wygląda na to, że dobrze ..

Moje zastanawianie się zaczyna się, gdy wykonuję z vblank_mode = 0 przed obiema komendami:

vblank_mode = 0 glxgears daje: arround 5000 FPS
vblank_mode = 0 optirun glxgears daje: około 1400 PFS

Dlaczego otrzymuję tak dziwne wyniki?

dhojgaard
źródło

Odpowiedzi:

9

vblank_mode=0 każe karcie graficznej zignorować częstotliwość odświeżania monitora i po prostu spróbować osiągnąć maksymalny fps, jaki jest w stanie wyłączyć.

Zwykle tego nie chcesz, ponieważ powoduje to łzawienie i marnuje żywotność baterii bez żadnych korzyści (nie możesz wyświetlić więcej niż, w twoim przypadku, 60 klatek na sekundę, ponieważ monitor nie jest w stanie zmienić tego, co wyświetla się więcej niż 60 razy na sekundę ).

Czasami możesz tego chcieć (np. W strzelankach internetowych, takich jak cs: idź), ponieważ w przeciwnym razie będziesz miał dużo opóźnień w wprowadzaniu. Jest to kompromis między opóźnieniem wejścia a rozrywaniem ekranu.

Myślę, że optirun ustawia vblank_mode=0domyślnie, więc nie zmienia się to, czy je podasz, czy nie. primusrun tego nie robi, a także bez ograniczenia przy 60 fps vblank_mode=0.

bercio
źródło
Ok, dziękuję - więc w jaki sposób faktycznie przetestowałbyś primusrun i optirun, aby zobaczyć inną wydajność?
dhojgaard
rzeczywiście użyłbyś vblank = 0 dla wszystkich przypadków. Uważam, że primusrun powinien przewyższyć optirun we wszystkich przypadkach. oto kilka punktów
bercio