本文經超能網授權轉載, 其它媒體轉載請經超能網同意.
如果我們注意新聞之間聯繫的話, 其實會發現在今天的顯卡玩家社群中, 當談到多顯卡的使用時, 無論是NVIDIA SLi, 還是AMD CrossFire, 其實都在變得越來越小眾, 從玩家的眼前和耳邊消失得越來越遠. 一個集中表現的例子是, 在NVIDIA去年推出的Pascal架構後, 就在白皮書當中表示未來不會再面向普通的用戶開放Three-Way SLI以上的遊戲支援, 只會在驅動當中提供專註於Two-Way SLI的優化, 要想挖掘更高的性能支援需要Enthusiast Key.
而即使是在更多人印象中效率更好, 使用更方便的AMD CrossFire, 受支援的力度也在Radeon RX Vega 64/56顯卡發布後愈加式微, 這倒是顯得有些不約而同的意思, 那麼我們平時經常掛在嘴邊的SLI, CrossFire, 到底是什麼技術呢? 又是因為什麼而逐漸降溫呢? 這是今天這節課要講解的問題.
兄弟齊心好過單槍匹馬, 現在已經很難見到這種宣傳
什麼是 'SLI' ?
'Multi-GPU' , 字面意思就是指同時並行多於兩張顯卡或是兩顆GPU的技術, 掌握該技術的公司當中, 比較有影響力的包括NVIDIA提出的SLI, ATi/AMD提出的CrossFire兩種技術. 如果要按照曆史的進程, 我們首先要講的是SLI技術, 它的全名叫做 'ScalableLink Interface' , 我們當中絕大部分的讀者知道這項技術是因為NVIDIA, 不過這項技術最初並不是由NVIDIA所開發, 甚至不是代表這三個詞. 或許上年紀的用戶還記得當年推出過Voodoo系列顯卡的著名顯卡公司3dfx, 他們在上世紀的1998年率先推出 'Scal-LineInterleave' , 當時是用在Voodoo 2顯卡身上的. 而正如大部分讀者都知道的, NVIDIA在原本競爭非常激烈的顯卡市場中殺出重圍, 成為最後少數的倖存者之一, 後來收購3dfx後, 隨即也購入 'Scal-LineInterleave' , 並在2004年將其魔改後正式推出, 但要注意的是, 這和日後我們熟悉的SLI技術還有非常大的區別, 可以說只有最大的共同點就是單詞首字母.
這張Voodoo 2顯卡來自Wikipedia
在Voodoo 2顯卡面世前, 世界上還沒有技術可以連接兩塊獨立顯卡並行運算, 更不要提近乎性能翻倍這種所有人都在追求的目標, 而當時的3dfx通過2000年推出的VSA100圖形晶片, 甚至可以達到雙芯, 甚至四芯共襄盛舉的情況, 這對於現在的顯卡市場來說有些寒武紀生命大爆發的景象, 畢竟Radeon Pro Duo, Titan Z想起來都已經像是很久以前的產品, 更不要說Quad-GPU的盛況.
兩種SLI技術都一樣嗎?
需要特別注意的是, 3dfx, NVIDIA推出的SLI技術有非常多的不同, 首先是連接的方式, 3dfx推出的Scal-Line Interleave在兩張顯卡當中需要通過專用的線纜連接, 而NVIDIA推出的Scalable Link Interface需要的是我們俗稱為 '橋 (Bridge) ' 的連接子卡. 其次是數據的傳輸方式, 3dfx推出的SLI技術是類比傳輸方式, 數字訊號被轉換為類比訊號後再進行合成幀的操作, 而NVIDIA推出的SLI技術是採用數字訊號傳輸, 兩張顯卡所計算的畫面合成後才被轉為類比訊號.
而除上述特點外, 在Multi-GPU技術當中的最核心問題: 畫面處理的任務分配方面, 3dfx, NVIDIA的思路是完全不一樣的. 前者3dfx所採用的思路是將畫面分逐塊逐塊的兩部分, 兩張顯卡或是GPU分別渲染屏幕即時幀當中的不同部分, 渲染完畢後再進行合成, 換句話說是前幀和後幀的融合, 而NVIDIA的思路則迥然不同, 採用的途徑是將屏幕當中的單幀分為若干部分, 如果是Two-Way SLI, 那麼就是將畫面分別兩部分, 而如果是三路, 四路甚至是最高的八路, 那麼就各自負責渲染若干分之一.
而更加重要的是, 在後期的開發當中, NVIDIA對SLI技術當中的資源分配問題加以改進, 換句話說就是實現3: 2, 4: 3, 5: 3這樣的單屏畫面分割效果, 這樣做的目的是為保證SLI體系當中的主卡和副卡在工作時需要一致的工作時間, 因為主卡是不僅要渲染自己需要渲染的部分, 還要先進行任務的分配, 指揮, 控制, 所以如果主卡完成渲染的時間比副卡要長, 那麼就存在一個副卡等待主卡分配下一幀的 '空閑時間' , 這種問題類似於我們經常要注意避免的CPU性能很弱, 無法發揮GPU性能問題.
3dfx提出的SLI技術是將畫面分成逐塊逐塊的部分
這才是NVIDIA提出的SLI技術
那什麼是CrossFire?
說完NVIDIA的技術再來說說AMD的CrossFire, 如果說SLI技術看上去有些不知所云的話, 那麼 'CrossFire' 聽起來就非常的酷炫, 威猛, 和催化劑, 腎上腺素, 火山島一樣霸氣側露 (只要不是理解成 '穿越火線' 就好) . CrossFire給大家的印象或許比NVIDIA SLI更好, 比如說免橋, 交火效率更高等等.
CrossFire這個名字是在2005年的夏天初次公布的, 當時公布出來的技術細節和3dfx, NVIDIA提出的原理完全不同, 它是採用奇數幀, 偶數幀的方式來進行渲染的, 你負責1st, 3rd, 5th, 我來負責2nd, 4th, 6th, 第一批支援該技術的顯卡是Readon X800, X850, 不過當時還是需要採用連接線來連接主顯卡和副顯卡.
說到這裡你可能覺得奇怪: 我大CrossFire技術怎麼還需要區分主卡和副卡? 其實還真是這樣, 曆史是發展到第三代的CrossFire技術, 也就是到ATi RV570核心出爐後, 才開始終結需要分主卡和副卡的曆史, 而且不再需要連接線, 而是改進成看上去高度接近於NVIDIA的 '橋 (Bridge) ' 作為數據流通的介質, 雖然僅僅是看上去像而已.
如果說你不熟悉這種世代的分割, 那麼第四代CrossFire技術你一定非常熟悉, 甚至如雷貫耳, 因為第四代CrossFire技術是從火山口架構的R9 200系列顯卡開始的, 這距離我們非常近. 在這一代核心架構 (GCN1.1) 當中, AMD開始使用XDMA無橋交火, 並支援Frame Pacing (幀同步) 技術.
從原理上來說, 一般認為CrossFire技術要比SLI技術更加高效, 一方面是資源分配的原理存在異同, 另一方面是因為CrossFire技術在對於多幀的分割-組合有多種模式, 比如說我們比較熟悉的交互幀渲染 (Alternate Frame Rendering) 和棋盤分離渲染 (SuperTiling) 模式都是面對高性能的, 需要的資源要更少, 也不存在明顯的瓶頸 (不過因為AFR本身並不需要很高的門檻, 所以作為一種多卡下常見的渲染方式, 其實SLI, CrossFire都有應用) .
交互幀渲染原理
棋盤分離渲染
哪怕就在四, 五年前, 討論SLI, CrossFire技術的用戶也要明顯多於今天大家對於Multi-GPU的熱情, 你或許見過組建Radeon HD 7950, R9 290交火的用戶, 也見過嘗試GTX 780 SLi的玩家, 但是今天你還能見到多少Radeon RX 570 CrossFire, GTX 1080 Sli的用戶? 要特別注意的一件事是Windows 10已經正式部署超過兩年, 而在Windows 10正式推送前我們就知道這是對於底層優化非常深的系統, 有多深?
甚至可以帶來顯存疊加和AMD, NVIDIA顯卡混合交火的超美夢, 而現實是大家都知道無論是CrossFire, 還是SLI, 都是各自的GPU使用各自自己的顯存, 而且組建Multi GPU需要驅動的支援, 自然不可能憑空實現RX Vega 64, GTX 1080的合體, 但或許是因為至今沒有明確的進展, 今天願意嘗試的組建多卡的用戶已經少很多.
至於為什麼現在願意嘗試Multi-GPU的用戶越來越少, 我認為主要的原因有以下這些:
#1: 單芯顯卡的性能已經越來越強大, 征服遊戲不再迫切需要雙卡甚至三卡
這個原因其實類似於從前的用戶癡迷於CPU超頻一樣, 因為性能本身對於需求來說還有較大的缺口, 所以需要超頻盡量榨出更多性能, 但是從近年的發展來看, GTX 680, GTX 780 Ti, GTX 980 Ti, GTX 1080 Ti, Titan V的性能已經越來越強大, 但是就遊戲本身來說, 1080p依然是主流的解析度, 抗鋸齒方案最合理的依然是MSAA, 環境遮蔽光甚至被優化地越來越好, 因此購買一張較高端的顯卡已經完全可以征服遊戲, 甚至尚能有餘力挑戰4K遊戲, 高性能的普及必然帶來追求極致的需求確實, 君不見 '逢六必火' 定律背後的深層原因其實就是中高端顯卡其實已經非常的Sweet, 一張GTX 1060 6GB顯卡其實已經足夠玩很多遊戲吧.
#2: 組建Multi GPU背後的成本依然很高, 甚至越來越高
如果你只是想簡單玩玩單芯顯卡, 你的處理器可以比較主流, Core i5-7600K, 甚至Pentium G4560都未嘗不可, 主板, 機箱, 電源都有很大選擇的餘地, 可以小, 可以精緻. 不過如果你想要構建雙卡, 首先顯存不疊加, 那麼你至少需要4GB的顯存吧, 那就需要兩張GTX 1050 Ti, 或者是RX 570, 數量翻倍後, 預算已經足夠買GTX 1070, 而處理器, 主板都需要強化, 因為需要更高的處理能力避免瓶頸, 還需要更多的PCI-E通道保證頻寬, 需要更高功率的電源保證輸出, 還需要更大的機箱, 更好的風道避免熱量的聚集, 噪音也會更大, 這一切都是顯性和隱形的成本. 更不要說現在的HB Bridge的售價也不便宜.
#3: 組建Multi GPU對於遊戲的優化是場考驗, 很可能事倍功半
就算你組建一套性能和造價都頗為不菲的平台, 但如果你的目的只是為獲得更高的遊戲性能, 那麼你的夢想並不一定會實現, 因為多卡遊戲的優化和單卡完全是兩種概念, 如果是單卡的話, 那麼只要顯卡架構不會太老, 質量沒問題, 系統和驅動不存在故障, 那麼玩遊戲一般不會有問題, 但是如果組建雙卡玩遊戲, 那麼出錯誤的幾率就不低, 比如說黑屏, 無響應, 花屏, 卡頓等等, 具體可以參考各廠的驅動更新日誌.
而如果說我親曆的問題, 印象深刻的就是在使用GTX 1080 Two-Way Sli的時候, 玩《巫師3: 狂獵》會有劇烈的閃屏, 花屏的問題, 最後是通過將全屏改為窗口化解決的, 此外還試過RX 480 CrossFire, 在玩《狙擊精英4》的時候遇到過密集的無響應退出的問題, 最後是怎麼解決的? 其實……根本沒解決.
就算沒有遇到錯誤, 組建多卡的效率也是需要你注意的, 哪怕你更新驅動, 多卡支援檔案很及時, 但是兩張顯卡的綜合性能為單卡的150%屢見不鮮, 甚至還有很多低於150%的例子, 而計算是效率更高的AMD CrossFire, 效率超過180%的例子屈指可數, 而為實現這種程度的效率, 背後所花的成本遠遠不止200%.
#4: 追求極致, 動手能力強的用戶畢竟只是少數
這句似乎是很多問題當中的老生常談, 但事實是即時不考慮其他問題, 有組建多卡平台的意願和動手能力的用戶也只是少數. 就大部分用戶來說, 其實想要的還只是簡簡單單, 輕輕鬆鬆的組建一套玩遊戲的平台, 維護的成本自然越低越好, 最後不會出各種問題, 而大膽的嘗試自然離不開各種問題的發生, 還要總結規律, 冒著失敗的風險, 這種體驗可不是所有人都喜歡的.
況且用戶是具有慣性的, 如果嘗試單卡的體驗沒有遇到什麼問題, 甚至體驗還很好, 自然沒有嘗試雙卡甚至三卡的理由, 否則遇到問題該去問誰呢 (肯定是小超哥啦) ?
總之, 如果說從前的Multi GPU技術不失為頗有使用價值的方法可以帶來超強的性能, 那麼現在它已經因為種種原因而受到非常大的挑戰, 自身的意義也變得越來越模糊, 即時是硬核玩家, 相信也不太願意去組建多顯卡, 這也是為什麼會有 '能單不雙' 這句話的原因.