理论
DDR5内存,5600MHz频率,双内存组成Quad通道位宽为256bit,理论速度是~175GBytes每秒。
5060 Ti的GDDR7显存,128bit的显存总线width,显存总线的最低频率是810MHz,最高频率是28002MHz,所以理论最低带宽是~13GBytes每秒,最高带宽是~448GBytes每秒。
PCIe的带宽,如果是4.0×4,理论带宽是~7.877GBytes每秒,如果是5.0×8,理论带宽是~31.508GBytes每秒。
实际
先来列举几条数据:
我的DDR5-5600内存,实际测试的读取/复制速度约为60-80GBytes每秒,基本和PCIe的5.0×16速度相当。
Oculink的最大速度是64Gbps,也就是PCIe 4.0×4,换算下来~7.877GBytes每秒。
5060 Ti的显存实际读写速度,我们先卖个关子,我们先把网上的各种奇怪的关于显存的数据来对一下。
首先,依照网上一些数据来源[1][2],它的显存Memory Speed在28Gbps每pin(即以Memory Clock为1750MHz工作,乘以16倍每pin的data rate倍率)。实际因为还是DDR的关系(上升沿下降沿都发送一次数据),还要乘2,所以实际读写速度在28/8*2,即~7Gbytes每秒每pin。
这里有个背景可以展开一下,不需要了解可以略过:
28Gbps这样的写法,是GDDR7等显存总线的惯用写法,表示的是显存总线每pin的速率,是等效速率。
这里28Gbps,其实对应的就是前面提到的显存总线的最高频率,28002MHz。也就是,前者是从数据流速度来阐述的,后者是从总线工作频率来阐述的。本质上是一个事情,两者存在等价关系。
这里可以看出,显存总线的频率,和显存真实时钟(Memory Clock)之间,存在一个16倍的倍率。这个倍率,就是显存接口每pin的数据倍频频率(data rate)。
换言之,显存颗粒读出的每一bit,其实并不对应显存总线width的每一bit。但显存总线的单位还是用bit,这很奇怪不是吗?
这里之所以会有这么奇怪的对应,是因为倍频的问题。倍频技术,其实类似于Wi-Fi的编码表,是在不能无限提高时钟频率的前提下,提高每次读取的字长的技术(也就是电压位不再简单区分为0和1的二等分,而分成了2的16次方等分,从而,每一次对电压位的扫描,我们就能获知整整16bit的数据,而不仅仅是1bit的数据)。
也就是说,在最初代的显存总线技术下,显存总线每一pin每次读出的的确是一个bit,也就是128bit的显存总线的确就是由128个pin组成,而且每pin每次读出的就是一个bit,于是显存总线的width的单位用bit来计算,在当时也是符合认知的。但在倍频的引入之后,每一pin每次读出的结果对应的就不是一个bit了,而是如今的16个bit了,但因为历史原因,还是对显存总线width,还是保留用bit为单位来计算。
于是,这16个bit为一次的、每次必然“整存整取”的数据大小,也就成为了一个显存颗粒的所谓的位宽了。
刨根问底后,我们得到一个省流的结论,就是——显存颗粒的位宽,其实和显存总线的倍频,是同等的。换言之,显存总线的width(位宽),和显存总线的pin数,也是同等的。一个是从逻辑数据流的角度阐述的,另一个是从总线器件实际的角度来阐述的。
演变到现在,很多人看到显存颗粒的位宽为16bit,显存总线的width是128bit,同样用bit来计算,于是会想当然认为一颗显存颗粒的位宽就能抵掉显存总线的16bit,于是需要8颗显存,才能满足显存总线一次读写。这么来算,虽然结果永远是正确的,但其实不是这么一回事。真实的情况是,8颗显存,每颗占用显存总线的16个pin,于是刚好满足显存总线的一次读写。
这就好比,物理中我们有正电荷和负电荷,有电子和质子,我们会说正电荷和质子移动形成电流,它们移动的方向就是电流的方向。但事实上这是假想的、不符合真实情况的,本质上只有电子或者说负电荷在移动,质子或者说正电荷并没有在移动(他们只是在吸引)。然而,知道了真相的我们还是会这么说,因为这不仅兼容历史,而且他俩永远是相反的所以这么说永不会错,也就是存在结果正义的支持。
也就是说,对于5060 Ti的28Gbps每pin的Memory Speed,结合它是128bit的显存总线的width,可以知道这个显存总线一共有128个pin,所以算得总的显存带宽就是28*128/8,也就是448GBytes每秒。可见这里基于数据流速度的计算和前面用显存总线频率来算带宽,得到的结果是一致的。
并且,实际因为是DDR的关系,还要乘2,所以是~896GBytes每秒。
这里还有一个背景是,50-series芯片的Memory Clock基本都是这个值上下,比如5070 Ti的Memory Clock是1750MHz,5080的Memory Clock是1875MHz。于是,可以算得,5070 Ti的Memory Speed是28Gbps effective,5080的Memory Speed是30Gbps effective,差别并不大。由此可知:要想大幅度提高显存的实际读写速度,不要奢望Memory Clock可以有文章可做,还是乖乖提高显存总线width吧,于是这就是为什么高端显卡动则256bit的显存位宽、而中端显卡的显存位宽只有128bit的原因。
最后,我基于beta版的aida64,7.99.7834版本(2025.07.09发布,第一个完全基于64位架构编译的aida64,因为80-series移除了对32位的支持,所以只有从这个版本开始,GPGPU benchmark才能测试5060 Ti),测到的显卡数据:

可见,实测数据和之前的推算是吻合的。
比如我估算Oculink最大速度在~7.877GBytes每秒,于是在外置显卡的环境下,我实际测得5060 Ti的显存读取速度就是6.775GBytes每秒,并没有超过Oculink最大速度。
又比如我估算5060 Ti的显存总线最大带宽在~896GBytes每秒。实际测得显存拷贝速度就是885.10GBytes每秒,并没有草果显存总线最大带宽。
并且由此可见,这个GDDR7显存颗粒,的确能无限填满显存总线的带宽,体质不错。相比之下,电脑的内存条就做不到这一点,我内存~175GBytes每秒的最大带宽,实际只能用到60-80GBytes每秒,不到一半。
结论
外置显卡其实很可怜的,使用Oculink也才8Gbytes左右每秒的速度,就带宽都能被我内存读写速度撑爆。
而且,别看5060 Ti采用了5.0×8的PCIe配置,PCIe这通道配置的最高理论带宽也才30多GBytes每秒,即使5.0×16,也就刚好喂饱我的内存实际读写速度。所以其实PCIe挺落后的。
5060 Ti的GDDR7显存的带宽的确很顶了。不过,它动则超100GBytes每秒的速度,其实随便就碾压这PCIe 5.0×8的带宽的,所以其实有些冗余吧(如果说是为了方便显存内相互拷贝,就当我没说)。
对于游戏来说,是否可以快速把内存数据拷贝到显存,是场景载入和移步换景时是否卡顿的主要原因。特别是在4K分辨率的场景,此时因为需要载入高精度的建模和纹理,随便一小片区的地图素材就能撑满几GBytes的显存,所以移步换景时就需要不断和内存进行交换,以持续刷取到当前可视区域的地图素材。
由此可见,Oculink那点8GBytes每秒的速度真的是不够看的,所以外置显卡用高端显卡会比较浪费,用大显存也可能比较浪费。不过大显存一定程度上减少和内存的互换,减少Oculink通道的占用,也可能是好事,但可能并不值得为此上16GB的显存。因为对于Oculink的带宽,16GB显存甚至需要两秒才能填满一次,有种小水管接大水池的感觉,所以哪怕有提升,从性价比的角度来说可取度不大,或者说,就算能减少一些场景切换的画面卡顿情况,但大场景读取时还是慢。
此外,从我运行的一些主流游戏的经验来看,2K最高画质下,一般显存占用都超不了8GB。一般也就到6GB多。就算是4K分辨率,一般游戏的设计显存要求也不过8GB左右,所以现阶段选8GB显存的确足够。16GB是为了应对开启光线追踪后的显存爆炸问题的,而既然提到光线追踪了,那5060 Ti这个非高端级别的显卡也不太可能在实际中开启最高档的光线追踪级别的。所以16GB显存对于5060 Ti来说,并非原生的核心的要求,实际超过8GB显存占用的几率比较小。特别是用作外置显卡时,建议选8GB的就好了。
对于实在会爆显存的情况,就交给nVIDIA的统一内存扩展的16GB来处理吧。毕竟PCIe那么慢,要交换的时候内存分分钟可以喂饱它,不管是不是走Oculink。
https://www.163.com/dy/article/J6PAIAK60534BC02.html
还有一个题外话:5070显存才12GB,5070Ti显存才16GB,所以5060Ti突然有个16GB版本就很奇怪。
后话
有个我总结的简单的经验判断,冒昧分享给大家:
其实拷贝进显存的所有数据都来源于内存,并且都来源于当前程序的内存。并且,显存需要留存的私有数据和中间数据不多,这些数据也不需要频繁写回到内存。
因为对于游戏来说,计算后你就返回最终的帧画面数据就可以了,计算过程,该游戏进程不关心,系统也不关心;此外,对于渲染管线的操作,每一步的着色器的计算,其实都是在变换坐标为主,结果基本都是原地更新的,所以计算一帧图像不会需要额外增加太多的临时空间(当然了这段论述还需要再补充一些来源)。
所以,如果你的游戏运行的内存占用都超不过8GB的话,那显存超8GB的概率就很少的(除非光线追踪的计算使用了特别多的额外的临时显存)。
从实际来看,一个游戏占用的显存大小,一般是它内存占用的25%到65%。所以如果你的游戏内存占用不超16GB,那想撑爆8GB内存是比较难的。