网络扫盲-为什么驱动不需要激活

今天刷帖子的时候看到一个博主的一篇关于黑神话悟空优化的文章,文章中提到了更新完NVidia驱动以后一定要去nvidia geforce experience软件里"激活"一下驱动,细细想来有点好笑,所以这篇文章就应运而生了,我们今天来讨论两个问题,什么是显卡“驱动”,以及,显卡驱动需要激活吗?

所谓“驱动”,即Videocard drive,是用来驱动显卡的程序,能够使操作系统与计算机中的硬件(即GPU显卡)进行通信,也就是硬件的接口函数。在软件工程中,可以使用接口封装和简化设计,也就是我们常说的API,显卡也是一样,说的再直白一些,就是显示打印接口,将GPU计算出的图像打印到显示器上的过程。

首先我们需要了解GPU的工作原理。CPU 即中央处理单元,是一种硬件组件,它是服务器的核心计算单元,负责处理操作系统和应用程序运行所需的各类计算任务。图形处理单元(GPU),是一种与 CPU 类似,但更专业的硬件组件。与普通 CPU 相比,它可以更高效地处理并行运行的复杂数学运算。GPU 拥有大量的算术逻辑单元(ALU)进行并行处理,因此 GPU 可以获取大量相同的指令并高速进行推送。

这倒不是说GPU更好,事实上GPU更像是一大群流水线上的普通工人,只适合做大量的简单运算,更复杂的运算搞不了。但是简单的事情做得非常快,比CPU要快得多,所以适合做图像渲染,假设在实时渲染中,一帧1080*720P的图片大概有777600个像素点。如果按照最基本的24帧/秒的帧率计算,1秒钟就要求计算机处理18662400个,即:1866.24万个像素点。这种情况下GPU的流式多处理器可以认为是一个个独立的任务处理单元,可以认为一颗GPU包含了几千个个CPU同时计算,大大提升了计算效率。

那么操作系统底层是如何访问显卡的呢?可以把显卡想象成另外一台机器。上电之后,它从计算机特定的内存(显存)地址去取址,然后执行计算指令,最后将图像数据再写入特定内存供计算机读取。游戏程序通过图形API(DX、GL、WEBGL)发出drawcall指令,指令会被推送到驱动程序,驱动会检查指令的合法性,然后会把指令放到GPU可以读取的Pushbuffer中。经过一段时间或者显式调用flush指令后,驱动程序把Pushbuffer的内容发送给GPU,GPU通过主机接口(Host Interface)接受这些命令,并通过前端(Front End)处理这些命令。

然后,GPU在图元分配器(Primitive Distributor)中开始工作分配,经过复杂的数据处理,完成颜色的计算还有深度值的计算,然后将数据移交给ROP(render output unit,渲染输入单元)。

至于为什么要更新驱动程序,每个驱动程序都是针对特定的硬件设备或芯片组设计的。例如,显卡驱动针对不同型号的显卡,如 NVIDIA 的 GeForce 系列和 AMD 的 Radeon 系列,它们各自拥有独特的架构,这些不同品牌和型号的显卡在图形处理能力、像素填充率、纹理单元数量等方面差异很大,因此需要专门优化的驱动来充分发挥其性能。

同时,针对一些大型游戏,驱动厂商也会进行专门的优化,通过分析游戏的图形引擎和渲染需求,调整驱动中的图形渲染算法和资源分配策略,可以在特定游戏中提高帧率稳定性,减少游戏中的卡顿和延迟。

可以举个很常用的抽象例子(该问题来自知乎),XX游戏在开发的过程中,工作人员不知道怎么想的,把一座山上所有的草模型,用了n个三角形模型来实现,玩家每当走到这座山时,帧数就会飞快下降。

本来这种问题应该是游戏开发商解决的,但是游戏开发商不管那些个,先把游戏发布出来了。显卡厂商就得分析这个游戏,到某个地方,显卡进行了多少万次相同的运算,所以才卡,一看,这啥破模型啊,明明能不计算这么多次啊。然后就更新显卡驱动里的某个算法,遇到这种情况,就集中处理,而不是傻乎乎的每个三角形、每个面都计算一次,写成新的驱动文件,发布出去。玩家更新了之后再到这些地方就不卡了。

那么最后一个问题,显卡驱动安装后需要"激活"吗?答案是不需要,安装显卡驱动的过程本身就包含了使驱动程序在系统中生效的步骤。当安装完成后,驱动程序就已经与操作系统和显卡硬件建立了连接,而GeForce Experience 软件中对游戏的优化选项,是指该软件依据用户电脑的硬件配置(包括 GPU、CPU、显示器等),利用 NVIDIA 收集的云数据,来为游戏自动进行图形设置优化,本质来说和你在程序界面里调整画质是一样的

参考(参考链接的网址怎么发不出来):

从底层向上理解GPU(GPU驱动初始化核心解读)

计算机底层是如何访问显卡的?

[知乎提问]显卡驱动对游戏优化究竟优化了什么?

深入GPU硬件架构及运行机制

更多游戏资讯请关注:电玩帮游戏资讯专区

电玩帮图文攻略 www.vgover.com