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

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

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

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

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

英特尔显卡上的正常 glxgears:arround60 帧每秒
optirun glxgears 在 nvidia 显卡上:arround1300帧每秒

嗯,我想这看起来不错。

当我在两个命令前执行 vblank_mode=0 时,我开始感到疑惑:

vblank_mode=0 glxgears 给出:arround5000帧每秒
vblank_mode=0 optirun glxgears 给出:左右1400 脉冲宽度

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

答案1

vblank_mode=0告诉显卡忽略显示器的刷新率并仅尝试达到其能够达到的最大 fps。

您通常不希望出现这种情况,因为它会导致撕裂并浪费电池寿命而没有任何好处(您无法观看超过 60fps 的速度,因为您的显示器无法每秒更改显示内容超过 60 次)。

有时您可能需要此功能(例如在 cs:go 等在线射击游戏中),因为否则您将会遇到很大的输入延迟。这是一种权衡,输入延迟与屏幕撕裂。

我认为 optirun 是vblank_mode=0默认设置的,因此无论您是否指定它,它都不会改变。primusrun 则不然,而且如果没有,它的最高速度也会达到 60 fps vblank_mode=0

相关内容