我就当你说的内存了,RAM。
在PC上,和游戏相关的内存主要有两种(声卡我不懂我就不说),一种是系统主存,一种是显存,也就是显卡内存。
首先,系统主存主要用来保存运行时数据,这些数据的计算都是通过CPU完成的,CPU速度很快,要读取数据的时候必须高速,所以不可能从外存去读,所以所有需要被CPU计算的数据都需要放在内存里面(当然就内存的读写速度也是无法和CPU的速度相比的,所以在内存和CPU之间还有L1L2L3Cache,这个就不细说了,层次读取模型,有兴趣去翻计算机专业的书,到处都是)。在游戏中,很多数据都需要CPU来计算,比如游戏的代码(这个必须要内存中吧==),还有游戏的一些附加数据结构,比如RPG游戏的部分需要使用的人物数据之类的,太多了。。。所以,你说系统内存的大小和容量对游戏意味着什么,,,但是现在系统内存动则就是16G,一个游戏一般不会用到那么多资源的,顶多2、3G。而且32位的程序,根本分配不到那么多内存,这也解释了为什么很多高端的3A大作都是64bit的。
然后,看看显存是拿来干嘛的。首先要说的是,一个游戏理论上说,不需要显卡也是可以跑的,显卡的出现初衷是使得游戏让游戏现实的更快(然而因为显卡很快,所以现在很多本来在CPU上的并行计算,也搬到了显卡上),然而现代显卡为了满足高速计算,采用了很多的计算并行计算核心,是一种流式计算模型,这种模型和CPU的计算模型是不一样的,所以显卡自成体系,既然自成体系,所以不能和系统共享内存,所以有显存一说,这样做是为了方便管理,实现起来也更方便。显卡存什么呢?显卡运行的速度也很快,所以当然不能在需要的时候去系统内存读取东西,所以这些东西都要就近放到显存上,主要可能是一些API资源,代码,当然最主要的就是纹理资源了,往往这个东西最吃显存的,为什么呢?首先,不要把纹理资源理解成一张图,纹理里面可以放任何东西,并不一定是可视的,比如我要在GPU上做FFT变换,我的变换数据就全部放在纹理中,这些数据显然是不可视的,还有你们可能比较熟悉的延迟着色,我们把场景几何数据和法线数据全部放在纹理中。当然最多的当然还是各种贴图了。所以,可以发现,纹理往往是最吃资源的。现在的游戏,比如GTA5.COD12,把纹理调到高精度,没个6G显存根本放不下。所以,你说大的显存有什么用?
当然,纹理也是可以放在系统内存的,但是系统内存上传到显卡内存是很缓慢的,你知道仙剑奇侠传6为什么卡出翔么,据测试就是因为纹理上传的瓶颈。所以,你显存大,纹理就放得多,GPU拿的时候就快,当然你的游戏就跑得快哦。
当然也有奇葩平台显存和系统内存共享共享的,比如PS4.因为有保密协议,这个我就不能多说了。
内存的大小与容量对电脑的游戏性能有什么样的影响?
1 条评论