ADVERTISEMENT
顯示卡記憶體主流容量越來越大,從早期64MB、128MB到現在1GB、2GB,還有高階卡一舉提升到4GB,而TITAN也打破紀錄一次攻頂到6GB。但相較於記憶體容量,主流螢幕解析度的成長相對緩慢,目前多數仍為1920 x 1080等級。現在顯示卡的記憶體是不是早已突破瓶頸?買顯卡時,是否需要多花10%的成本,去換那多1倍的記憶體容量,換回來到底有沒有價值?
快速瀏覽:
- 理論篇:GPU、記憶體運作流程
- 效能篇:大容量記憶體用處少
- 實戰篇:多螢幕遊戲不友善
記憶體好大好便宜
當年低階卡搭配64MB、128MB左右的記憶體恰如其分,但是最近越來越多的低階卡記憶體容量上看2GB,不禁讓人懷疑這樣的搭配到底是有何意義。姑且不論低階卡,就連高階卡容量也邁入4GB大關,一般中階卡記憶體容量也從以往256MB、512MB增加到1GB甚至2GB。
根據公式,一般2D影像在1920 x 1080的解析度底下,每幀(Frame)影像需要約7.91MB的空間。如果是3D影像則是再把上述數字再乘以3,大約是23MB左右。即便需要儲存多幀影像,但其所需記憶體總容量,已經跟現在顯示卡搭載的主流記憶體有明顯的落差。不過,遊戲的材質、反鋸齒等特效也會佔用記憶體容量,外加逐漸重要的GPGPU等運用,最後還有「未來」可能出現的多螢幕需求,也有一派認為大容量記憶體仍有其必要性。
解析度與記憶體容量關係式
2D影像:每幀影像需要記憶體容量=(水平解析度 x 垂直解析度 x 色彩深度)/8bit
3D影像:每幀影像需要記憶體容量=(水平解析度 x 垂直解析度 x 色彩深度 x 3)/8bit
舉例來說,解析度1920 x 1080的螢幕,在32位元色彩深度的環境下,其2D影像所需容量為:(1920 x 1080 x 32)/8bit =8294400Byte8294400Byte=8294400/1024/1024=7.91015625MB
理論篇:GPU、記憶體運作流程
早期記憶體價格昂貴,且容量相當小,即使螢幕解析度低、色彩深度低,但是記憶體容量只有數MB的情況下,容量很容易變成效能瓶頸。自然就會出現所謂:記憶體容量越大,可使用的解析度越高的觀念。時至今日,記憶體容量成長率遠高於螢幕解析度的成長幅度,買大容量記憶體的顯示卡還有什麼用處?
接下來,我們先了解GPU與記憶體的運作原理,再來實測大容量記憶體與效能的關係式,驗證大容量記憶體到底是噱頭還是真有其功效。先從GPU的運作談起,不論你是要跑遊戲、看影片還是GPGPU運作,其實都離不開這GPU運作流程。
GPGPU
GPGPU是General Purpose Graphics Processing Unit的縮寫,中文為通用繪圖處理器。這類GPU可取代傳統CPU運算進行高速運算,透過GPU內多個核心平行運算,某些領域的運算效能會比CPU來的出色,後來GPGPU也大多泛指透過GPU平行運算的技術。
影像輸出CPU占一半
雖然影像輸出看似GPU的工作,但實際上CPU得要負擔一半的責任,且不論是3D遊戲、影片播放都是如此。從遠一點的角度來看,CPU負責影像輸出前端工作,遊戲或影片播放的需求進到CPU來,先透過DirectX、OpenGL、DXVA等API(Application Programming Interface,應用程式介面)轉換成統一標準,再來進到驅動程式內,以上這段都是由CPU負責。從上可知,就算玩遊戲CPU也會在其中扮演一定的角色,效能貧弱的CPU的確可能成為遊戲效能的瓶頸。
驅動程式處理完之後,就是丟到GPU內運算,運算完畢則是放置到記憶體內儲存。當有需要的時候,再將記憶體內運算好的資源送到RAM DAC,將GPU運算的數位訊號重新編譯,轉為類比訊號再由D-sub介面傳輸。若使用的是數位訊號,像是DVI或HDMI,則是由TMDS通道直接傳輸。
▲不論何種影像輸出,都離不開CPU的前端工作。這也是為什麼有些人認為CPU會影響遊戲效能的原因之一,但是依照編輯部的經驗法則,主流等級的處理器應付前端處理工作都沒問題,CPU影響會效能大多是某些特殊遊戲(例如使用CPU做物理運算),或是太老舊所致。
▲把顯示卡運作流程極度簡化後,應該不難看出記憶體是輸出前的最後一道關卡。如果輸出的是類比訊號,則再多經過RAM DAC處理。若使用數位訊號,則會直接經過TMDS通道傳輸到螢幕。
RAM DAC
RAM DAC(Digital Analog Converter,數位類比轉換器)是顯示卡內的電子元件之一,作用是將GPU運算後的數位訊號重新編譯成類比訊號,並由D-sub輸出到螢幕。RAM DAC的速度單位是MHz,時脈會影響螢幕的更新率與解析度。因此除了記憶體容量可能成為解析度瓶頸外,RAM DAC更是直接影響解析度的高低。
另外,早期RAM DAC的規格會影響到輸出的色彩深度,像是8bit就只支援2的8次方,也就是256色輸出。現在規格到了極限,都能應付高解析度與高階色彩深度,RAM DAC的作用自然就很容易被遺忘。加上數位訊號的普及,RAM DAC早晚有天會從顯卡上消失。
硬體通吃的統一標準
看到這流程,應該會有疑問為什麼要多API這道手續,直接由軟體存取硬體資源不就好了,還能節省一道手續減少轉換上的效能耗損。的確,DOS時期應用程式可直接存取硬體資源,但是也就讓遊戲廠商傷透腦筋。因為缺乏統一標準,每套遊戲都要針對特定硬體支援,而且這還不只GPU,連音效卡甚至是搖桿等裝置都需要對應的語言,造成遊戲製作相當大的障礙。直到DirectX等標準出現後,軟硬體的問題才得以解決。
記憶體是資料倉庫
回到這次的主角記憶體,在影像輸出的流程中,記憶體扮演的角色類似倉庫。不過相較於記憶體的容量,另外還有2個規格跟1個數字你得要記住,2個規格是記憶體時脈(Memory Speed)與記憶體介面頻寬(Memory Interface Width),數字則是記憶體頻寬(Memory Bandwidth)。
時脈不用多說就是速度,從SDRAM到DDR甚至是GDDR時期,速度都不停翻升。而記憶體介面頻寬(Memory Interface Width)經常跟記憶體頻寬(Memory Bandwidth)混淆,從英文來看會比較容易了解。前者指的是傳輸介面的寬度,後者才是意義上真正的頻寬。專有名詞可能不是很容易了解,用道路來舉例會更清楚。時脈就像是車子的速度,像是70km/h,介面頻寬就是車道寬度,像是雙線道、四線道,而頻寬就是兩者的乘積:單位時間內能通過的車流量。最後,記憶體容量就是位於公路末端的倉庫。
頻寬是兩者相乘
對於現代顯卡效能而言,理論上頻寬會比容量重要,從上述例子來說,現在的顯卡容易碰到的情況是倉庫很大塞不滿,但是車流量卻不太夠用。回到理論面來看,記憶體頻寬的公式如下:
記憶體頻寬=工作時脈 x 記憶體介面頻寬/8bit
以GTX 680來說,該卡記憶體時脈是6Gpbs,記憶體介面頻寬是256bit,而記憶體頻寬就是兩者相乘除以8bit,可得到192GB/s。從公式也可以對記憶體規格稍做判斷,以前有不少顯卡會同時推出2種型號,差別在於記憶體顆粒的種類,常見的有高時脈配低記憶體介面,另一種則是低時脈配高記憶體介面,套用公式算一下就能求得頻寬,用頻寬做為統一標準計算,會比單純比較DDR2或是GDDR3等類型有意義。
容量用於減少瓶頸
說這麼多,那這次的主角記憶體容量到底是做什麼用?一言以蔽之就是倉庫。先前有提到,記憶體主要用於儲存運算的貼圖、多邊形等資訊,GPU運算完畢後會將資訊儲存在此等候RAM DAC提取,或直接經由數位介面輸出到螢幕顯示。現在記憶體容量或許已不是影響解析度的關鍵,但是可能成為其他瓶頸。遊戲特效過於豐富,像是高強度AA(Anti-Aliasing,反鋸齒)就可能吃掉更多的記憶體容量,但是多大的記憶體才夠用?這是我們接下來要探討的重點。
筆者認為,記憶體容量會限制效能,但是不太會增加效能。舉例來說,相同特效下若1GB記憶體夠用時,就算加到2GB也不會讓效能提升。因為此時倉庫(容量)夠大,但是車流量(記憶體頻寬)是瓶頸,加大倉庫並不會讓貨物運送更順暢,改變車速(記憶體時脈)、車道(記憶體介面頻寬)才會讓貨物運送更快。那實際上是怎樣?接著來看效能篇的驗證。
▲顯示記憶體容量不夠怎麼辦?當年NVIDIA把腦筋動到系統記憶體頭上。TurboCache技術透過MMU(Memory Manager Unit)控制容量分配,並經由PCI-E介面動態使用系統記憶體。例如顯卡本身只有64MB,最大可使用256MB的系統記憶體,此舉有助於降低顯示卡成本。但系統記憶體會被動態佔據,可使用量會減少,加上效能不如正常版本。因此TC版本只有出現在入門卡上,像是當年的GeForce 6200 TC。
同型不同款,差別在容量
▲市面上有不少顯卡都有不同容量的版本,但是要找張核心、時脈、佈局相似的卡就有點困難。還好這次編輯部從技嘉取得規格相近的GTX 680與GTX 650 Ti,才能讓我們有機會針對容量變數進行測試。
延伸閱讀:
一個打兩個,NVIDIA GeForce GTX TITAN 對決 GTX 680 SLI 實測
Crysis 3 Beta 公測開始,硬體大屠殺來了,你的顯卡、CPU 能跑嗎?
GTX 650 Ti 徹底解析:Kepler 最後拼圖,填補5000元價位中階卡
(後面還有-效能篇:大容量記憶體用處少)
這篇寫的不錯
那時候我朋友說他用的筆電顯卡高達 2GB 所以可以電爆我的卡
而且還比我新一代
殊不知
他的卡是 GT610M 2GB ╮(╯_╰)╭
> 其實我比較好奇的是低階卡的效能差多少?因為現在的低階卡都給到2G,好奇的是這樣有用嗎?比如說 GDR5 1G 和 GDR3 2G 效能差多少,我身邊願意花 3000 元以上買顯卡的人並不多。
以理論上來說
記憶體頻寬重要性會高於記憶體容量
如果是我,會選擇1GB GDDR5也不要2GB GDDR3
但實務上而言
低階卡的效能大多卡在GPU而非記憶體
給再大的容量或頻寬都沒用,GPU就是畫不了這麼多的Frame
当然,这与电脑硬件没有直接关系,例子只是想说明“人性”有贪婪的特质。从这些年的趋势看,内存容量在翻番,价格在下跌(近期除外),估计显存成本在整卡中占到的比例已经不高,那么以低端卡相比之下蝉弱的GPU 3D性能如何取悦买家的青睐呢。很显然,显存容量便成为一个非常好的卖点。
当用比较低的价格买到一块巨大显存的板卡时,那么消费者心理就会想当然的建立起“强悍”的概念,进而认为“超值”,购买意愿便会更加强烈了。所以,我相信在厂家在统计自己产品出货量时会直接发现到,同样GPU的板卡,更大容量显存配置的销量便越大,所以。。。。。。╮(╯_╰)╭
而实际上,这应该还是GPU厂商把自己的产品型号定的过多过杂的结果。暂且不论它们这么做是否为了混淆消费者视听,暂且先用善良的心态看待厂商只是为了充分的竞争。面对如此繁杂细分的型号,如果不是一个资深的DIY玩家,你怎么判断显卡是强还是弱,处在一个什么样的水平呢?很显然,一知半解的多数普通消费者,便把性能指标建立在了更加显而易见的东西上。
最后,从社会意义上来看,这种巨大的资源浪费挺让人心痛,也是非常可耻的。