独立显卡会带有视频随机存取存储器(VRAM)也就是我们平常所说的——物理显存,其作用与物理内存 RAM 对于 CPU 一样。VRAM 会从磁盘中直接加载纹理、着色器和其他图形数据,并将它们传递给 GPU 用于渲染输出。
显卡的物理显存 VRAM 是有限的,如果执行需要大量显存的任务,GPU 很有可能将 VRAM 耗尽。在这种情况下,就会开始调用系统物理内存(RAM)的一部分空间,作为虚拟的显卡内存(虚拟显存)来使用,在 Windows 系统中即标示为「共享 GPU 内存」。
为什么 GPU 需要「专用 GPU 内存」或「共享 GPU 内存」
与串行处理器 CPU 不同,GPU 需要并行处理许多图形任务以渲染图形。单个渲染需要多个纹理、着色器、光照元素等。为了正确而快速地渲染输出,需要许多并行运行的核心来处理这些元素。
CPU 是一种串行处理器。它是按照一个指令一个指令的顺序执行的,一次只能处理一个任务。但是,在操作系统层面,CPU 表现出同时执行多了个任务(即多任务),其实是通过在多个任务之间快速地切换实现的,让用户以为 CPU 像是同时执行了多个任务(其实是错觉)。
而在对这些元素进行处理之前,GPU 必需事先从磁盘获取它们,这就是「专用 GPU 内存」 的用途。VRAM 模块从存储设备非常快速地访问所有数据,并创建类似缓冲管道的方式将它们推入 GPU 进行渲染运算。
物理显存 VRAM
如果专用的 VRAM 模块没有空闲来执行这个任务,计算机就必须使用物理内存 RAM 的一部分作为虚拟 VRAM 即「共享 GPU 内存」。
- 物理显存 = VRAM = Windows「专用 GPU 内存」
- 虚拟显存 = 虚拟 VRAM = Windows「共享 GPU 内存」
大多数集成显卡(iGPU)没有专用的物理显存或只有有限的 VRAM 容量。因此,如果您的计算机有 iGPU,Windows 肯定会在大多数图形处理过程中使用「共享 GPU 内存」。
GPU 内存 = 专用 GPU 内存 + 共享 GPU内存
简单来说就是,Windows 会在物理显存/「专用 GPU 内存」不够用或只有集成显卡的情况下,将物理内存 RAM 当作 GPU 的虚拟显存/「共享 GPU 内存」来使用。
「共享 GPU 内存」与「专用 GPU 内存」有什么不同
只要不是非常旧的 GPU,图形处理器(显卡)的 VRAM 都是计算机系统中最快的设备。当谈到速度时,物理内存 RAM 都要排在其后吃灰。因此,「共享 GPU 内存」永远不能提供「专用 GPU 内存」一样的性能。
此外,VRAM 模块是图形处理器的一部分,并与 GPU 核心紧密相关,而物理内存 RAM 需要使用 PCIe 连接将数据发送到 GPU 核心,这进一步影响了「共享 GPU 内存」的性能。
共享 GPU 内存示意
每当 Windows 需要使用到「共享 GPU 内存」时,它就会占用部分物理内存来充当虚拟显存。这就意味着 Windows 可用 RAM 将减少,可能导致性能下降或其他硬件(如 CPU 或 GPU)无法达到预期最佳性能。因此,如果您的计算机需要处理大量图形任务,最好使用具有足够 VRAM 的独立显卡。
我应该配置「共享 GPU 内存」吗
有些主板可能在 BIOS 中有配置「共享 GPU 内存」的选项,但无论是否有足够的物理显存,都不建议更改此设置。
如果有足够的 VRAM 可用,Windows 在非必要时不会使用「共享 GPU 内存」功能。即使使用,也不会直接将一半物理内存保留待用,而是只保留其使用的部分。因此,用户完全没有必要去更改设置,毕竟 Windows 也不傻。
在考虑到「专用 GPU 内存」不足的情况,Windows 则会自动从 RAM 中分配必要的空间作为「共享 GPU 内存」空间。这个空间的部分将在被 GPU 保留时充当「虚拟 VRAM」,在其他情况下则作为 RAM。
Windows 系统的自动分配机制考虑了所需 RAM 和 VRAM 之间的平衡,因此最好不要去手动设置。否则,在运行图形密集型应用程序时,可能会遇到系统崩溃或延迟增加。