web-dev-qa-db-ja.com

ベンチマークでvblank_modeがフレームレートを大幅に改善するのはなぜですか?

Optimus Nvidiaを搭載したラップトップに最適なグラフィックスソリューションを見つけようとしています。 (ASUS K55VD)

私はバンブルビードを実行していますが、グラフィックスのパフォーマンスを向上させたい場合はoptirunを使用します。唯一の問題は、本当に機能しているかどうかわからないことです。

例えば、私が実行するときglxgears私は次のパフォーマンス結果を得ます:

intelグラフィックスの通常のglxgears:arround 60 FPS
optirun glxgears on nvidia graphics:arround 1300 FPS

まあこれはうまくいくと思う..

両方のコマンドの前にvblank_mode = 0を指定して実行すると、私の不思議が始まります。

vblank_mode = 0 glxgearsの結果:arround 5000 FPS
vblank_mode = 0 optirun glxgearsの結果:around 1400 PFS

なぜこのような奇妙な結果が得られますか?

8
dhojgaard

vblank_mode=0は、モニターのリフレッシュレートを無視し、オフにできるmaximux fpsに到達するようにグラフィックカードに指示します。

通常、これは必要ありません。破裂を引き起こし、利点なしにバッテリー寿命を浪費するためです(モニターは毎秒60回以上表示するものを変更できないため、60fps以上を表示することはできません) )。

これが必要な場合があります(たとえば、cs:goなどのオンラインシューティングゲームで)。そうしないと、多くの入力ラグが発生します。これはトレードオフであり、入力の遅れと画面の引き裂きです。

Optirunはデフォルトでvblank_mode=0を設定するので、指定してもしなくても変わりません。 primusrunはそうではなく、vblank_mode=0なしで60 fpsに上限を設定します。

9
bercio