为什么 vblank_mode 在基准测试中大幅提高帧率?

dho*_*ard 9 nvidia benchmarks nvidia-optimus bumblebee

我正在努力为我的笔记本电脑和 Optimus Nvidia 寻找最佳图形解决方案。(华硕K55VD)

我运行了 bumblebeed,当我想提高图形性能时,我使用 optirun。唯一的问题是我不知道它是否真的有效。

当我执行例如。glxgears 我得到以下性能结果:

intel 显卡上的普通 glxgears: 大约60 FPS
optirun glxgears 在 nvidia 显卡上:大约1300 FPS

嗯,这看起来不错,我猜..

当我在两个命令前使用 vblank_mode=0 执行时,我的疑惑就开始了:

vblank_mode=0 glxgears 给出: 大约5000 FPS
vblank_mode=0 optirun glxgears 给出:大约1400 PFS

为什么我得到如此奇怪的结果?

小智 11

vblank_mode=0 告诉图形卡忽略显示器的刷新率,并尝试达到它能够关闭的最大 fps。

你通常不想要这个,因为它会导致撕裂并浪费电池寿命而没有任何好处(在你的情况下,你不能查看超过 60fps,因为你的显示器无法改变每秒显示的内容超过 60 次)。

有时您可能想要这个(例如在 cs:go 等在线射击游戏中),否则您将有很多输入延迟。这是一种权衡,输入延迟与屏幕撕裂。

我认为 optirunvblank_mode=0默认设置,因此无论您是否指定它都不会改变。primusrun 没有,它也以 60 fps 的速度上限,而没有vblank_mode=0.