正文内容 评论(0

4GB去哪儿了?GTX 970显卡的3.5GB显存bug问题探究
2015-01-26 15:26:00  出处:超能网   编辑:快科技     评论(0)点击可以复制本篇文章的标题和链接

在过去的这个周末,NVIDIA显卡玩家都在为一个奇怪的3.5GB显存占用问题而疯狂——标配4GB显存的GTX 970显卡在很多游戏中被爆出实际只有3.5GB可用,这个看似奇怪的问题最终也被NVIDIA证实了——这其实不是bug,因为GTX 970的设计本来就是如此,它的显存确实是分为3.5GB和另外0.5GB两部分。这又是怎么回事呢?

小编手头正好有多块GTX 970显卡,为了彻底检验这个问题,小编也验证一下这个问题,首先我们要搞清楚这个问题的来源。

GTX 970显卡3.5GB显存bug的来源

这个被人诟病的“bug”实际上是指NVIDIA的GTX 970显卡在很多游戏中最多只显示占用3.5GB内存,最初爆出问题的游戏是《魔多的阴影》这个游戏,之后玩家验证的游戏越来越多,证实这不是个例,显然3.5GB显存占用的问题是普遍存在的。

对游戏来说,能够用到4GB的也不多,《魔多的阴影》这个游戏我没有,不过我们可以找找别的游戏或者应用。在《怪物猎人OL》中,4K分辨率+4xMSAA就可以轻易压榨多数显卡了。

GTX 970显卡的显存占用始终维持在3.5GB

GTX 970显卡在这个游戏中始终维持在3520MB左右,观察到的波动也不过是3518-3526MB之间,非常稳定。

GTX 980显卡则可以占用到3.8GB左右

换一张GTX 980显卡来,显存占用就能轻松突破3.5GB,稳定在3.8GB。

问题确实重现了,尽管游戏在不同显卡上会有不同的表现,不过GTX 970和GTX 980都是256bit显存位宽,4GB显存,二者的架构也是一样的,区别只是CUDA核心数不同,但显存占用上差别很明显,这确实能说明存在一定问题。

除了实际游戏之外,Guru3D论坛还有玩家提供了一个小工具来验证这个问题——Nai' Bechmark,这个软件可以检测显卡的内存寻址空间并测试不同位置的内存性能,同时还可以检测内存与L2缓存之间的带宽。

下载地址:Guru3d(右键另存为)

这个小工具很简单,不过默认只检测3072MB的内存空间,4GB显存的用户需要手动改下脚本中的设置,改成检测128MB Block大小、4096MB显存空间即可。

GTX 980及GTX 970之间确实存在显存性能的差异(点击放大)

玩家关注3.5GB显存占用的根源在于有说法认为3.5GB之后的显存性能大幅下降,所以才有了这个小工具。从它的测试结果来看,GTX 970与GTX 980之间确实存在一定差距,GTX 970显卡在从3072MB显存之后带宽就开始下降,从155GB/s下降到了67GB/s甚至22-15GB/s,GTX 980则是从3712MB之后才开始下降。

与此同时,L2缓存带宽性能也有类似表现,从3MiB(注:GTX 980的L2缓存实际容量是2MB)之后带宽大幅下降。

4GB显存浪费了吗?非也

那么GTX 970显卡就真的不能占用完整的4GB显存空间吗?实际上也不是这样,显卡的显存容量占用涉及到很多显卡自身及游戏,不过通常可以说画质越高对显存要求也越高。最方便调节画质的就是3DMark测试了。

将3DMark的图形测试2画质提升到4K、特效全高及8xMSAA

此时GTX 970显卡可以轻松达到4GB显存占用

将3DMark的图形测试2画质拉升到4K+全特效+8xMSAA这样的BT设置之后,GTX 970显卡的显存占用也可以轻松达到4GB。

这个问题的影响严重吗?实际性能测试

从上面的测试工具来看3GB之后的显存性能有着明显下降,假设这个小工具的测试结果全部是真实而精确的,那么这个问题对显卡的性能有什么影响呢?

NVIDIA官方的测试

对此NVIDIA官方也公布了一个测试,GTX 980与GTX 970在3.5GB之内及之后的性能差距只有1-3%,可以说实际影响并不大。

官方的测试平台跟小编的平台不一样,无法重现官方的结果,不过这里我们自己也做了一个简单测试,这个测试的难点在于如何控制画质设置使得显存占用反应3.5GB前后的性能。

在3DMark的FireStrike图形2测试中,8xMSAA可以将显存占用提升到4GB,而2xMSAA时GTX 970的显存占用在3.3GB左右,而4xMSAA时显存占用3.66GB左右,正好跨过了3.5GB这个门槛。

这里测试用的GTX 970显卡是技嘉GTX 970 G1 Gaming,发来时BIOS版本为F1,GeForce官网上有用户表示最新版的BIOS已经解决了4GB显存占用的问题,所以小编也刷了最新的F3版BIOS,下载地址:官方网站

图形测试2中GTX 980与GTX 970的差异

测试用的GTX 980及GTX 970性能不能直接对比,不过对比两种画质下的性能差距,2xMSAA(显存占用3.3GB左右)下GTX 980领先GTX 970大约1.4%,4xMSAA下(3.7GB显存占用)下差距是1.5%左右,跟官方公布的结果差不多,实际影响也不大。

NVIDIA的官方解释:不同的内存管理策略所致

我们已经从头到尾验证了这个问题,GTX 970显卡确实存在3.5GB分界线的问题,这个问题愈演愈烈,以致于NVIDIA也要出面解释:

GeForce GTX 970搭配了4GB显存,不过它跟GTX 980相比拥有更少的SMM单元,内存系统也因此有更少的交叉资源。为了优化显存管理,NVIDIA将GTX 970的显存分为3.5GB和0.5GB两个部分,GPU会优先访问3.5GB那部分。如果游戏的显存占用低于3.5GB,那它只会访问这3.5GB区间,第三方应用也就报告说GTX 970使用了3.5GB显存,但在GTX 980显卡上可能会报告更多。

如果游戏使用的显存更多(超过了3.5GB),那么它会正常使用这两部分的显存。

简单来说,NVIDIA是承认了这个现象确实存在,解释说这个问题主要是因为不同SMM单元配置使得显存管理上交叉资源分配引起的,所以才给GTX 970的4GB显存分成3.5GB和0.5GB两部分,其中3.5GB部分是优先使用的,剩下的0.5GB部分是有需要才用。

(有更新)中招的只有GTX 970吗?GTX 760/960也....

在验证GTX 970的这个问题中,小编也对GTX 960及GTX 760两个显卡做了验证,从Nai Bench这个工具来看,他们的显存分配也存在类似问题,不过在3DMark测试中这些显卡也同样可以用满2GB显存。

这其中,GTX 760是256bit位宽,6组SMX单元(完整版是8组SMX单元),从1792MB之后显存性能下降,而GTX 960是GM206核心,128bit位宽,4组SMM单元,标配2GB显存,测试中从1664MB之后性能开始下降。

目前还无法判断出这些显卡的规律,不过GTX 760是类似GTX 970的阉割版,位宽不变,但SMX单元减少。但GTX 960跟他们有些不同,它可以看作GM204核心的一半,SMM与显存的对应关系理论上跟GTX 980是一样的,这有两种可能——现在的GM206核心实际上也是阉割版的,要么就是这个软件并不适用于GTX 960等显卡。

更正:GTX 760和GTX 960的测试并不能完全反应问题,这个只是个体验,NVIDIA承认有问题的只是GTX 970。

最后的话:

通过使用同一核心阉割不同的配置来提供不同的选择,NVIDIA藉此丰富显卡产品,AMD也有类似的做法,不过现在这个问题已经不是NVIDIA第一次在显存上出问题了,之前有过GTX 660 Ti使用192bit搭配2GB显存、更早之前还有192bit位宽的GTX 550 Ti搭配1GB显存的例子,只不过这两个例子都是在显存位宽的阉割,这次GTX 970是保留了完整位宽,但SMM单元不同。

Kepler时代的显卡可能也存在这个问题,只是Kepler显卡大多数标配2GB显存,这点容量很容易被游戏占满,以致于大家都没有察觉其中的差异,而GTX 970上配置的是4GB显存,差异更明显。

厂商通常不会主动公布这些技术上的设计,这次也是游戏玩家发现的,NVIDIA才不得不出面解释,承认这是设计使然,这其实不是bug,只不过现在留下的疑问依然很多,许多消费者对这个问题还是很纠结,因为软件看到情况就是这样,让人误以为不能用完所有显存。

责任编辑:

  • 支持打赏
  • 支持0

  • 反对

  • 打赏

文章价值打分

当前文章打分0 分,共有0人打分
  • 分享好友:
  • |
本文收录在
#电脑

  • 热门文章
  • 换一波

  • 好物推荐
  • 换一波

  • 关注我们

  • 微博

    微博:快科技官方

    快科技官方微博
  • 今日头条

    今日头条:快科技

    带来硬件软件、手机数码最快资讯!
  • 抖音

    抖音:kkjcn

    科技快讯、手机开箱、产品体验、应用推荐...