全屏玩游戏比窗口更流畅?显卡驱动背后解密

来源:元器件交易网 2017-11-01 07:16:00

如果你是一个PC游戏玩家,那么应该会经常接触显卡驱动。同时,大家也会遇到显卡驱动的很多相关现象,例如驱动会突然崩溃黑屏后又恢复,例如游戏在全屏模式下就是比窗口模式流畅,又例如升级系统后老显卡居然也可以跑DX12游戏等等。

为什么会这样子?关于显卡驱动的秘密,你到底知道多少?今天就一起来谈谈显卡驱动的一些话题吧。

很多朋友都买了高端显卡,但未必关心显卡驱动

Win的显卡驱动到底是怎样的存在?

要让某个硬件被操作系统所识别、让硬件在操作系统中发挥功效,驱动程序必不可少。

显卡驱动顾名思义,就是用来让操作系统识别显卡的。很多朋友全新安装Windows系统后,发现显示分辨率非常低,系统也并不能正常运行很多大型3D游戏,或者进行视频硬解码,于是把原因归咎为没有安装显卡驱动——这种说法,实际上并不准确。

初装系统时虽然提示显卡驱动有问题,但其实显卡已经被驱动起来了

既然操作系统能识别显卡并显示画面,意味着显卡已经被驱动所识别,只不过Windows自带的只是最基本的VGA驱动,只提供基本的显示功能,并不能发挥显卡的种种特性。

所以,实际上全新安装的系统,也是有显卡驱动的,只不过这个驱动只能保证最基本的画面显示而已。

但是,也千万不要小看这个最基本的驱动,这可以说是Windows系统最大的优点之一。要知道其他系统压根连这样的驱动也没法提供,例如Android,Google释出了原厂镜像乃至源码后,还需要厂商一一做驱动适配。

而Windows则很少存在这样的问题,新的Windows发布后,几乎全世界的PC都可以升级,这就是Win系统驱动的强大之处。

Windows拥有一套显卡驱动的标准模型,这令各家厂商都可以根据这套模型,开发适用于Windows的驱动。

因此,显卡厂商可以独自为用户提供相应的Win显卡驱动,并不需要微软亲自下场动手适配各种显卡。在XP时代,这套驱动模型叫XPDM,现在则是WDDM。

Win系统有标准的显卡驱动模型,XP是XPDM,Vista后用的是WDDM

显卡厂商只要遵循WDDM,就可以编写出自己的显卡驱动。用户手动安装或者通过Windows Update获取相应显卡的新驱动后,显卡的潜力就可以被进一步发掘出来。毫无疑问,Windows系统的显卡驱动机制,有着灵活的扩展性。

为何显卡驱动崩溃后会黑屏接而恢复?

很多朋友都遇到过显卡驱动崩溃,当超频失败,或者显卡散热不良之类的情况下,系统右下角会出现“显示器驱动程序停止响应,并且已成功恢复”的字样,这就是典型的显卡驱动崩溃。当显卡驱动崩溃后,系统会暂时黑屏,但很快又恢复。为什么会出现这样的现象呢?

现在显卡驱动崩溃只会黑屏然后恢复,XP时代会直接蓝屏死机

实际上,显卡驱动黑屏后恢复,已经是莫大的改进。在XP时代,显卡驱动一旦崩溃,系统会直接蓝屏崩溃。

但在Vista以后,微软把驱动模型改进成为了WDDM,极大地提高了稳定性。在Vista及以后的系统中,内核层和用户层分离,WDDM显卡驱动很大一部分被归到用户层当中,显卡驱动崩溃只需要重置就可以了,并不会导致系统内核崩溃,从而蓝屏死机。

换言之,显卡驱动崩溃后黑屏然后恢复,就是WDDM驱动重置的过程。当然,如果显卡出的问题太大,就不仅仅是WDDM驱动重置就可以解决的,该死机还是会死机。但无论如何,WDDM的确在稳定性上远胜于XPDM,这也是为何Win7以后的系统玩游戏比XP更稳定的一大原因。

为何游戏全屏模式就是比窗口模式更流畅?

现在越来越多的游戏加入了窗口模式,和全屏模式相比,窗口模式玩游戏会更加方便。例如想要一边聊QQ一边游戏,又或者想要开N个游戏挂机,那么在窗口模式玩游戏是更好的选择。

不过,很多朋友都会发现这样的一个现象,窗口模式玩游戏就是没全屏模式流畅,帧数都会少一些,无论目测还是用工具测都是如此。为什么会这样呢?

Win7的WDDM 1.1相比Vista的WDDM 1.0,一大改进就是窗口模式的效率

这和Windows的显卡驱动是有关系的。在窗口模式下,除了渲染游戏内容,显卡驱动还会调用GPU渲染资源管理器等元素——窗口就是资源管理器的一部分。在Vista和Win7中,资源管理器使用Aero特效,这也会造成一部分的负担。

不但如此,在Vista中,由于WDDM 1.0驱动设计不完善,在窗口模式下渲染游戏,需要CPU对窗口及游戏进行软混合,效率很低,所以窗口模式玩游戏会特别卡。在Win7以后的系统中,WDDM进行了改进,就没有再出现此类情况了。

与之相比,全屏模式可以让游戏渲染独占所有的显卡资源,显卡不必再为资源管理器之类的元素分心。因此,游戏全屏模式比窗口模式更流畅,也就理所当然了。

升级新系统对显卡驱动有何好处?

在每一代Windows系统中,WDDM都会有所改进。例如前面说到的Win7的WDDM 1.1改进了Vista中WDDM 1.0窗口模式太低效的问题,而在Win8中的WDDM 1.2又新增了16bit色深乃至YUV 4:4:4的支持,还支持显卡只做纯渲染而不输出图像;在Win8.1中的WDDM 1.3中优化了显存调用并新增了无线输出等特性。

此后Win10的WDDM 2.0更是改进巨大,配合DX12这个新的图形API,能让多显卡工作更加高效,而且就算是老显卡,也能够运行DX12游戏——只是并不能发挥DX12的全部好处罢了。

WDDM的进化可以带来很多好处

可以说,新的WDDM的确可以带来很多好处。为何游戏玩家会最为青睐Win10?

因为只有在新系统中,才能使用新的WDDM版本的显卡驱动,从而带来更好的游戏体验。如果你使用的是一些新型硬件,例如Surfacebook这种可分离GPU的设计,或者VR设备、HDR显示器等,那么新的WDDM更加必不可少。

例如Windows10周年更新带来的WDDM 2.1才能支持HDR输出,而Windows10秋季更新带来的WDDM 2.2有对AR、VR显示有所优化。因此,越新的硬件,越需要新的WDDM显卡驱动才能发挥其真正实力。

如果仅仅是安装新驱动、而不升级新系统,是无法享受到新版WDDM的好处的。另外,如果你没有升级系统,新的驱动就不要乱装了。

某些驱动基于新版的WDDM设计的,旧的系统无法兼容。例如Win7就无法使用为XP设计的驱动,因为XP的显示驱动模型是XPDM,Win7使用的是WDDM。同样,Vista、Win7的显卡驱动或许是可以装到Win10中的,但绝然不可能兼容XP,因为两者的显卡驱动模型迥然不同。

总结

目前微软仍在持续改进WDDM,例如在最新的Win10创意者秋季更新中,就使用了WDDM 2.3。

在很长一段时间内,Windows仍会是最适合玩游戏的系统,而新版的WDDM又能进一步发掘显卡的潜力、修复以往的问题。如果你是一名PC游戏骨灰玩家,不妨注意一下WDDM的升级,有了好显卡也得要足够先进的驱动才能带来最好的体验。

点击查看原文

相关链接