有问有答:DCH驱动是什么?

有些比较注意自己显卡驱动版本的朋友可能在去年末的时候就发现了,NVIDIA和Intel都开始提供一种简称为DCH的新驱动,那么这种新的DCH驱动究竟有什么不一样之处呢?

TL;DR:DCH是一种新的驱动描述方式,在性能表现上并没有什么不同。

DCH,全名为声明性组件化硬件支持应用(DeclarativeComponentizedHardware supported apps),是微软在通用Windows平台上面推出的全新驱动安装包形式,其允许开发者只提供一个驱动包就可以跑在众多不同的设备之上,包括嵌入式系统和PC。从Windows 10 1709之后,Windows 10就支持安装这种类型的驱动包了,而有使用DCH驱动的用户可能会发现,原本自带的显卡驱动管理面板变成了一个独立的Windows App,在应用商店里都可以找到了。

根据微软的要求,一个典型的DCH驱动需要包括基础的驱动、可选的组件包和可选的硬件支持应用。采用这种结构的目的是可以让OEM很方便地在IHV提供的原始驱动基础上加入自己的客制化功能,而不需要对原始驱动进行修改。在IHV认证了基础驱动之后,它就已经可以部署到OEM系统中去了。而且在分发驱动之前,微软就可以通过Windows Insider通道对基础驱动进行更为广泛地测试,而不是之前仅分发给特定的计算机。在最终分发驱动时,基础驱动得以跟硬件支持应用相分离,前者可以通过Windows Update渠道,后者则是通过Microsoft Store渠道。

DCH还有四大设计原则,分别是声明性(Declarative)、组件化(Componentized)、硬件支持应用(Hardware Support App)和符合通用API(Universal API compliance)。DCHU是目前微软对于驱动开发者的指导原则,也代表了在微软的理想中驱动包应该有的形式。

然后可能有些朋友又会问了,这两种驱动在底层上面会不会有什么不同?答案是,有。因为DCH驱动需要使用通用API以支持UWP,所以肯定在底层代码层面上面就出现了很多不一样的地方,但是在驱动与硬件沟通层面上应该没有什么不一样之处,所以不会出现明显的性能区别。

左标准右DCH,可以看到核心部分驱动文件大致一样,但还是有区别

挑选部分文件进行SHA-1值检验,是不一样的

另外需要注意的是,老的驱动并不能直接安装DCH版本的驱动,而DCH版也不能直接安装老的(标准)驱动,需要使用Display Driver Uninstaller(DDU)先清理掉当前系统中的显卡驱动再装另一个版本。

总结就是DCH只是一种新的驱动部署形式,微软鼓励厂商和用户采用这种形式来提供/安装设备驱动,但也没有直接把老的驱动部署形式给干掉。我们推荐新装系统的玩家用户们使用DCH驱动,因为它是更新,更为简洁化的,而很多时候,新的确实更好。