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


8

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

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

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

英特尔图形卡上的普通glxgears: arround 60 FPS
NVIDIA图形卡上的普通glxgears:arround 1300 FPS

好吧,我猜这看起来不错。

当我在两个命令前使用vblank_mode = 0执行时,我开始好奇:

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

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

Answers:


9

vblank_mode=0 告诉图形卡忽略显示器的刷新率,仅尝试达到其关闭功能的maximux fps。

您通常不希望这样做,因为它会造成撕裂并浪费电池寿命,而没有任何好处(在您的情况下,您无法以60fps的速度查看更多图像,因为您的显示器无法每秒更改超过60次的显示内容)。

您有时可能想要这样做(例如在诸如cs:go之类的在线射击游戏中),因为否则您将有很多输入滞后。这是一个折衷,输入延迟与屏幕撕裂。

我认为optirun vblank_mode=0默认设置,因此无论您是否指定它都不会改变。primusrun没有,如果没有,它也以60 fps为上限vblank_mode=0


好的,谢谢-那么您将如何对primusrun和optirun进行基准测试以查看不同的性能?
dhojgaard

您确实会在所有情况下都使用vblank = 0。我相信primusrun在所有情况下都应该胜过optirun。这里有一些基准测试:reddit.com/r/linux/comments/1dafbl/...
bercio
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.