中关村在线

热点资讯

深度解析 为啥8G显存玩不了4K?

当你想买一块最好的显卡时,性能往往被列为最重要的方面(对我们中的许多人来说,自然还有价格)--如果你想看看各种显卡是如何叠加的,请查看我们的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以上显存的显卡吧。

展开全文
人赞过该文
内容纠错

相关电商优惠

评论

更多评论
还没有人评论~ 快来抢沙发吧~

读过此文的还读过

点击加载更多
说点什么吧~ 0

发评论,赚金豆

收藏 0 分享
首页查报价问答论坛下载手机笔记本游戏硬件数码影音家用电器办公打印 更多

更多频道

频道导航
辅助工具