深度解析 为啥 8G 显存玩不了 4K?
导读:当你想买一块最好的显卡时,性能往往被列为最重要的方面(对我们中的许多人来说,自然还有价格)-- 如果你想看看各种显卡是如何叠加的,请查看我们的 GPU 天梯榜。但是最近,我
当你想买一块最好的显卡时,性能往往被列为最重要的方面(对我们中的许多人来说,自然还有价格)-- 如果你想看看各种显卡是如何叠加的,请查看我们的 GPU 天梯榜。但是最近,我们看到更多的游戏似乎需要大量的显存,可能是 16GB 或更多。《星球大战绝地求生》、《最后生还者》第一部、《战锤 40K:黑暗之潮》、《霍格沃茨遗产》、《最终幻想 7 重制版》、《艾尔登法环》...... 名单上的游戏越来越多,根据你选择的设置和分辨率,它们的显存使用率可以超过 8GB 甚至 12GB。不过,到底是怎么回事,你到底需要多少显存?
从表面上看,你可能认为这只是一个更高的分辨率自然需要更多的显存。3840x2160(4K)的像素是 1920x1080(1080p)的四倍,而 2560x1440(1440p)的像素是 2.25 倍。但是,虽然这可以极大地增加你的 GPU 需要执行的计算数量,但就其本身而言,它实际上并没有使游戏使用更多的显存。
缓冲区不够用吗?
现在的游戏有很多缓冲区。有帧缓冲区、深度缓冲区、几何缓冲区、用于阴影贴图和照明的缓冲区、延迟渲染缓冲区,以及潜在的用于 DLSS 和 FSR2 等升频技术的缓冲区。对于光线追踪来说,还可能有额外的存储需求,比如边界体积层次结构(BVH)。总之,但有很多东西都需要显存。
这些内存需求随着分辨率的提高而增加。以帧缓冲区为例,提高四倍的分辨率通常意味着使用四倍的显存。对每个缓冲区都这样做似乎是个大问题。但当你计算时,它实际上并不那么糟糕。
使用 1080p 分辨率意味着每个缓冲区需要 8,294,400 字节(1920*1080 像素,每个像素 4 字节)。4K 将这个数字翻了两番,达到 33,177,600 字节,而介于两者之间的 1440p 则需要 14,745,600 字节。假设一个游戏中使用了 10 个这样的缓冲区。4K 和 1080p 之间的差异最终仍然只有 237 兆字节 -- 而且现代 GPU 中可能存在实时压缩 / 解压技术,可以减少某些缓冲区的存储需求。
大多数现代图形卡至少有 8GB 的显存,所以内存需求增加约 0.2GB 应该不会有太大影响。但是,如果你曾经从 1440p 的游戏运行基本正常,到看到你的显卡在 4K 时窒息,你就知道有什么东西在造成问题。可能不是更大的缓冲区导致了 4K 的问题,但显然有什么事情发生了。
Nvidia 让我们知道,它目前的架构不压缩帧缓冲区," 基于成本 / 效益的权衡 "。然而,我们不确定 AMD 的 GPU 是否压缩帧缓冲器。其他缓冲区可能使用也可能不使用某种形式的无损压缩,这取决于特定的缓冲区和应用。实际的罪魁祸首最终是所有的纹理,其中包括阴影贴图、环境贴图和任何其他与纹理有关的项目,这些都被存储在显存中。你可能会说," 咄!大家都已经知道了 "。但这不仅仅是有更高质量的纹理的情况。还有比你可能考虑到的更多的事情。
罪魁祸首是纹理
以《FarCry 6》这样的游戏为例。这是我们目前测试套件中的一个游戏,我们知道当你加载高清纹理包,并试图在 8GB 显存的显卡上以 4K 运行时,它可能会遇到显存问题。Far Cry 6 在 RTX 3070 上以 1440p 的超强设置(但没有光线追踪)运行得很好,平均刚超过 100 帧。然而,跳到 4K 时,性能会下降。有时,它可以达到 60 帧以下,但在测试中,我们也会遇到只运行 10-20 帧的情况。这有点奇怪,因为它在运行时波动很大,但这是一个不同的故事。
《全面战争:战锤 3》是另一款在 8GB 显存的显卡上从 1440p 到 4K 时,性能会有很大下降的游戏。RTX 3070 在 1440p ultra 时平均为 65 帧,在 4K ultra 时只有 28 帧,性能下降了 57%。AMD 的 RX 6650 XT 从 1440p 的 36 帧下降到 4K 的 14 帧,下降了 61%。同时,12GB 的 RTX 3060 从 44 帧下降到 23 帧 -- 对性能的打击仍然很大,但现在它 " 只 " 慢了 48%。这有耗尽显存的所有迹象,但幕后到底发生了什么?
主要的罪魁祸首是纹理,它与一种叫做 MIP 映射的东西有关。Mipmaps 已经在计算机图形中使用了几十年(根据维基百科,它们是由 Lance Williams 在 1983 年发明的)。其原理是预先计算纹理的低分辨率版本,通常使用高质量的调整大小操作。
通常,当游戏引擎应用纹理时,它将使用比物体在显示器上覆盖的像素数(按比例)高一步的纹理分辨率 -- 假设有这样的纹理分辨率。因此,假设有一个无遮挡的长方形多边形覆盖了 1080p 显示屏的三分之一。这意味着该多边形占据了 640x360 像素,所以游戏引擎最多只能使用 1024x1024 的纹理。
将窗口移近多边形,使其完全填满整个显示器。现在它覆盖了 1920x1080 像素,而游戏引擎可以选择一个 2048x2048 的 mipmap。再靠近一点,这样就只有一半的多边形是可见的,但它却充满了整个屏幕。然后,也只有在那时,(典型的)mipmapping 才会选择 4096x4096 的纹理 -- 假设有一个可用,如果不可用,你会发现纹理的清晰度在下降。
你要多大显存?
这意味着,支持 2K 纹理(2048x2048 分辨率)的游戏,如果你只在 1080p 下游戏,其纹理质量实际上是 " 最大 " 的。由于现代游戏中使用了更复杂的几何图形和环境,大多数多边形和纹理很可能根本不需要 2K 的纹理 --1K 就足够了。即使是 1440p 也往往只需要使用 2K(或更低分辨率)的纹理。这是因为,即使 4K 纹理(4096x4096)在技术上是可用的,大多数多边形覆盖的宽度或高度都远远低于 2048 像素,但如果你非常接近表面,使其通过该阈值,则是例外。
你大概能看出这一点。把显示器的分辨率提高到 4K,突然间,游戏引擎和 GPU 会发现需要更频繁地在显存中存储和使用高分辨率的纹理。图像质量可能甚至不会增加那么多,但对显存的要求基本上会增加两倍。
所以临界点在哪里?一般来说,16GB 显存是玩 4K 游戏的起码的要求,不至于因为显存容量拖后腿(拖后腿的是 GPU 的核心、显存位宽频率这些),当然显存是多多益善,这也是为何 4090 有 24GB。现在显卡基本是这么分档的:8G 的 1080P 为主,1440P 也能凑合,12GB 的是 1440P,也就是常说的 2K 分辨率游戏的主战场,如果你买了 4K 显示器,还是配上 16G 以上显存的显卡吧。
版权声明:本文部分来自互联网,由小编精心所写,本文地址:http://www.zhubian88.cn/smbk/88564.html,如需转载,请注明出处!