《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 電子元件 > 業(yè)界動態(tài) > SSD固態(tài)硬盤對游戲行業(yè)的一場革命

SSD固態(tài)硬盤對游戲行業(yè)的一場革命

2021-02-04
來源: 電子工程專輯
關(guān)鍵詞: SSD固態(tài)硬盤

  前年的Computex展上,AMD曾經(jīng)演示過一段畫面demo,對比Radeon RX 5700系列和英偉達的Geforce 2080 Ti,宣稱畫面與性能大勝。當時這個演示是引起了不小的爭議的,該場景表達的是帶寬對于游戲的影響。但實際上,在現(xiàn)實世界的游戲作品中,幾乎不存在這種類型的負載。事實真的如此嗎?

  當時的這段演示,可能已經(jīng)在預示“存儲”的未來,對于游戲行業(yè)接下來持續(xù)數(shù)十年的影響了。

  1.png

  似乎在當代PC領(lǐng)域,配SSD固態(tài)硬盤是個日?!际裁茨甏?,還談SSD固態(tài)硬盤是HDD機械硬盤的未來?PC游戲自然也應(yīng)該在“享用”SSD帶來的速度優(yōu)勢吧?

  但在次世代游戲主機領(lǐng)域,高速SSD的采用算是個新鮮事,或者說至少以前SSD在游戲主機領(lǐng)域并不太受待見——索尼PS5和微軟Xbox Series X終于“不約而同”地用上了SSD,而且是NVMe SSD。因為事實上,對傳統(tǒng)生態(tài)的游戲主機而言,硬盤速度或許真的沒那么重要,容量才是關(guān)鍵。對于單游戲動輒10GB+的容量,以及游戲主機需考慮成本問題的現(xiàn)狀而言,開發(fā)者們總在想方設(shè)法降低硬盤性能對于實際游戲體驗的影響。

  從最直接的角度來思考,換個SSD似乎也不是什么大不了的事情,不就讀寫快點兒嗎?快又能快到哪兒去?游戲里屏幕上需加載和待加載的元素,不都是放在RAM里面的嗎?換個SSD,游戲體驗就大不同了?

  或許SSD在游戲主機上采用的開始,乃是改寫游戲行業(yè)歷史的序章。本文就從較淺層的技術(shù)角度來談?wù)?,SSD對于游戲界究竟產(chǎn)生了多大的影響。

2.png

  換用SSD的PS和Xbox

  從紙面數(shù)字來看,微軟Xbox Series X用了總?cè)萘?TB的NVMe SSD固態(tài)硬盤,順序讀取速度為2.4GB/s。這對SSD而言算不上什么驚艷數(shù)字;雖然已經(jīng)比機械硬盤快10-20倍了,但在PC平臺也就是個入門水平。而索尼PS5的SSD總?cè)萘?25GB,順序讀取速度5.5GB/s(PS4是50-100MB/s),接口PCIe 4.0 x4,通道數(shù)是12個——這就有點兒高端的意思了。

  不過換用SSD究竟有什么用呢?5.5GB/s的順序讀取,在RAM速度面前,起碼有幾十倍甚至上百倍的差距。硬盤和內(nèi)存介質(zhì)仍然不是一個世界的東西,PS5不照樣配備16GB GDDR6嗎?

  先來看看微軟這邊,微軟在Xbox存儲相關(guān)的技術(shù)表達上,引入了一種“Xbox Velocity Architecture”架構(gòu)。這個市場宣傳詞,在微軟的定義下包含了4個組成部分,分別是SSD固態(tài)硬盤本身、壓縮引擎、用于訪問存儲的軟件API,以及名為Sampler Feedback Streaming的硬件特性(一種GPU特性,可提高紋理利用效率:哪些數(shù)據(jù)可以從RAM中移除,并判斷下一步要加載哪些數(shù)據(jù)到RAM)。

  就Xbox Velocity Architecture的這幾個構(gòu)成而言,很難看出什么爆炸性突破,至少就微軟公布的信息來看是如此。

3.png

  虛幻5引擎演示的圖形計算畫面

  索尼PS5相對復雜,去年索尼在介紹PS5時,花了1/3的時間專門介紹PS5的存儲系統(tǒng)。這表明SSD在PS5之上的分量不輕。去年EPIC在虛幻5引擎的技術(shù)演示中強調(diào),演示中那些令人嘆為觀止的效果都需依賴PS5的高速SSD。雖說這其中多少有索尼和EPIC底層合作的成分在,但技術(shù)本身不應(yīng)被輕易否定。有關(guān)PS5的SSD及相關(guān)的存儲架構(gòu),后文會詳述。

  SSD的高帶寬,和數(shù)據(jù)壓縮

  從直覺來看,換用SSD的最大價值,應(yīng)該在于啟動游戲、加載場景會更快。這的確是這代游戲主機的提升所在。下面這張圖來自tom's GUIDE的PS5評測文章,是PS5與PS4兩代機型的不同游戲加載時間對比:

4.png

  來源:tom's GUIDE

  部分游戲的差異在這里還是相當顯著的。像《蜘蛛俠:邁爾斯·莫拉萊斯》這樣的游戲,“在home頁面選擇游戲,到角色出現(xiàn)在大街上開始打怪,幾乎是0時間差”。Android Authority在PS5體驗文章中提到,“所有PS5游戲的加載頁過渡時間都在10秒以下,更多的是在3-4秒”,甚至因為加載頁面時間過短,連頁面上的那些文字提示都看不全,“不過這也是值得的”。

  索尼宣稱,2GB數(shù)據(jù)加載時間只需要0.27秒——在PS4時代,1GB數(shù)據(jù)從硬盤加載完成需要20秒。但如果只是游戲啟動、場景過渡加載時間變短,那么SSD實在沒什么可大書特書的。畢竟這本來就是SSD相比HDD的優(yōu)勢,更不用說什么“革新”游戲行業(yè)。

  GPU在數(shù)據(jù)吞吐方面的努力上一直沒停過。當代GPU越來越多的開始引入一些專用單元,比如Turing架構(gòu)針對光線追蹤特別引入了RT核心與Tensor核心。在存儲架構(gòu)方面,當代GPU普遍都有專門的數(shù)據(jù)壓縮單元。

  數(shù)據(jù)壓縮的價值在于,將數(shù)據(jù)體積壓縮得更小之后(典型的比如紋理數(shù)據(jù)),再傳輸?shù)絻?nèi)存或者cache之上,減少數(shù)據(jù)傳輸量,因此也就增大了帶寬。不過一般來說,數(shù)據(jù)解壓過程是需要CPU進行的,軟解的效率并不高。

5.png

  Xbox Series X和PS5都在數(shù)據(jù)壓縮和解壓方面做了文章。SoC的I/O模塊部分都有專門的數(shù)據(jù)解壓縮硬件單元。實際上先前的游戲主機就有這樣的特性,只不過存儲介質(zhì)不是以SSD的方式存在的。微軟著眼于紋理數(shù)據(jù)壓縮,因為紋理數(shù)據(jù)占到游戲數(shù)據(jù)讀取與解壓最大的比例,紋理壓縮算法名為BCPack。索尼除了Zlib之外,采用一種名為Kraken的格式。

  索尼宣稱,其解壓縮硬件能夠?qū)SD之上5.5GB/s的數(shù)據(jù)流,解壓縮為8-9GB/s的數(shù)據(jù)。在壓縮效率最理想的情況下,理論最高輸出率是22GB/s。這個量級很大程度上也是基于其NVMe SSD。這樣的專用硬件,極大緩解了CPU的壓力。索尼宣稱,這種專用解壓單元,在解壓能力上相當于9個Zen 2處理器。

  越來越多專用單元的出現(xiàn),也是通用計算領(lǐng)域向前發(fā)展的一種共識了。而且索尼自PS3時代的CELL處理器開始,就有一個堅持:數(shù)據(jù)傳輸?shù)母邘挕⒌脱舆t,比處理器本身的算力重要。近代GPU的發(fā)展路徑里,這的確也是英偉達與AMD的共識;而從系統(tǒng)層面,將其擴展到外存,又是這一理念的延伸。

6.png

  所以這有什么用?

  說來說去,難道還是游戲啟動和場景加載更快而已嗎?PC界早就證明了,提升硬盤的速度并不會對游戲性能和體驗造成什么實質(zhì)上的提升。畢竟從直覺上來看,存儲不能提升游戲畫質(zhì)和幀率。一般游戲,玩家看到或即將看到的畫面資源都是放在RAM中的。

  實際情況是,基于PC世界木桶短板原則,游戲開發(fā)者極大程度受制于PC大環(huán)境的平均配置,而想盡辦法從游戲開發(fā)層面,試圖向玩家隱藏存儲系統(tǒng)的短板。

  但游戲主機有著相對單一的開發(fā)目標,硬件限制、開發(fā)環(huán)境都大致穩(wěn)定。在主要游戲主機開始采用SSD之后,開發(fā)者們(或者生態(tài))就該思考如何充分利用明顯更快速的存儲硬件了。所以前文也提到了微軟Xbox Velocity Architecture的新API。

7.png

  索尼在這代主機上,雖然純看算力及RAM層面的效率是不及Xbox Series X的,但它針對SSD存儲的變革決心卻相當之大。PS5平臺之下新的I/O API,可讓開發(fā)者去利用新的SSD及存儲架構(gòu)。

  在新的開發(fā)生態(tài)中,文件名、路徑的概念不再,取而代之的是一種基于ID的系統(tǒng)——以最快的速度告訴系統(tǒng)從哪里去找數(shù)據(jù)。開發(fā)者只需要指定ID,開始位置、結(jié)束位置;整個IO流程一步完成,不需要應(yīng)用去操心內(nèi)存數(shù)據(jù)解壓、重新安置的問題。毫秒級延遲后,就能在單幀處理時間內(nèi)請求獲取到數(shù)據(jù)——早年的HDD,這個流程需要耗時最多250ms。

  去年3月份,PS5系統(tǒng)架構(gòu)師Mark Cerny舉過一個例子?!澳硞€敵人在游戲中死去時,會最后叫出聲,這種數(shù)據(jù)需要有高優(yōu)先級來獲取。但可能因為流水線中其他的游戲與操作請求,數(shù)據(jù)仍要等250ms才能拿到?!薄岸劳?、哀嚎,是需要同步發(fā)生的。在PS4,同類問題就要求把大量數(shù)據(jù)都必須放到RAM上。”雖然個人覺得這個例子可能并不恰當,不過高速SSD的存在,某種程度轉(zhuǎn)移了RAM的負擔。

8.png

  這種“轉(zhuǎn)移”可能體現(xiàn)在多個方面。比如說開放世界游戲,通常這種游戲需要限制玩家的移動速度,或者游戲環(huán)境沒有那么細致。因為RAM資源是有限的,游戲只能過著緊巴巴的日子,必要的資源才放進去。要是玩家移動太快、畫面太細致,資源都來不及加載。但在有了高速SSD(和對應(yīng)的I/O架構(gòu))之后,開發(fā)者就得到了極大程度的自由。

  這個自由當然不是說用SSD來替代RAM,而是體現(xiàn)在working set上——即每次有多少內(nèi)存是真正當下就使用的(即現(xiàn)在就顯示在游戲畫面中的)。在高速SSD的加持下,游戲就沒那么迫切的要求去預?。╬refetch)數(shù)據(jù)。

  比如一個游戲中,相同房間內(nèi)某個對象的貼圖,如果現(xiàn)在并不在游戲畫面內(nèi)(不顯示在屏幕上,而是在屏幕之外),那么或許將其放到SSD上(而不是RAM上)問題也沒那么大,等到玩家視角開始向該對象的方向移動時,再加載也不遲。過去HDD時代是不能這么做的,通常整個房間、甚至相鄰房間的數(shù)據(jù)都必須放在RAM里,否則游戲體驗就是悲劇。

9.png

10.png

  有了SSD,一部分RAM就能釋放出來,這些RAM可用于存放更高品質(zhì)的資源,屏幕上顯示的當前畫面也能夠更好?;蛘邞?yīng)該是“變革”的核心所在。Mark Cerny提到,游戲只需要大約提前1秒做預取工作(而不是PS4時代的30秒),這是高帶寬、低延遲SSD能夠帶來的重要價值。

  Mark Cerny原話說:“玩家在游戲中轉(zhuǎn)個身,SSD如果足夠快,快到立馬就可加載紋理如何?如果轉(zhuǎn)身0.5秒,也就是加載4GB的壓縮數(shù)據(jù)?!边@可能是虛幻5引擎演示基于PS5的某種依據(jù),也會成為革新游戲主機平臺游戲開發(fā)的開始。

  SSD給游戲機帶來的其他變化

  以前的很多游戲,開發(fā)者為了解決慢速存儲的限制問題,通常會采用很多策略。比如說場景間過渡,搞個樓層間電梯:玩家在乘坐電梯的時候,實際上就是數(shù)據(jù)在忙碌加載的過程;再比如在某些過渡場景,限制玩家視野(比如搞個狹窄的山洞或通道)。將來,這些可能都不再需要了。

  前面這些至少對于游戲玩家而言,是能夠看得見、摸得著(可能摸不著)的革新,包括游戲啟動、畫面加載時間顯著縮短,游戲畫面可以更細致,對玩家的限制更少,甚至可能帶來更多的玩法。比如說開放世界中,更快的競速游戲體驗;或者從天文星球級別,可將畫面無縫、快速放大至分子級別;以及更多現(xiàn)在我們暫時沒想到的游戲方式。

11.png

  高速SSD及周邊存儲與I/O架構(gòu)還帶來了一些相對隱性的價值。比如說游戲體積可以做得更小。游戲主機的HDD時代,開發(fā)者為了減小硬盤尋道時間帶來的影響,某一個場景顯示所需的數(shù)據(jù),通常都會存儲在連續(xù)的硬盤塊區(qū)域上,這樣就能減少數(shù)據(jù)尋道操作了。

  不過某些對象可能會在不同的場景里反復出現(xiàn),那么這些對象就會重復存儲在各種連續(xù)的硬盤塊區(qū)域。除了貼圖,也包括聲音、模型等——這叫duplication。比如城市場景中的垃圾袋,可能1.6MB空間占用,如果一個城市里600個街區(qū)都有這么個垃圾袋,那就比較悲劇了。游戲在硬盤中所占的空間就會很大。某些游戲開發(fā)者對此當然有緩解方案,比如《蜘蛛俠》,不過是以RAM用量為代價的。

  高速SSD存在以后,duplication就很大程度上不怎么需要了。SSD帶來的同類價值還有比如說,HDD存在“碎片化”問題,早年Windows就有“整理硬盤碎片”這種功能;在SSD之下,開發(fā)者不需要在意數(shù)據(jù)的物理空間問題,游戲不需要在更新過后進行這種操作。還有包括游戲保存操作,可快速完成游戲進度的大批量數(shù)據(jù)的存儲,關(guān)機前也不用等待了。

  只是以上這些“隱性”提升,PC游戲玩家應(yīng)該早就享受到了,所以它們實在算不上“革命”性,對游戲體驗的影響也都不大。

12.png

  推及整個游戲行業(yè)

  索尼和微軟在游戲主機與平臺的締造理念上差別還是比較大的。微軟更多在想的是與PC平臺劃一,而索尼則期望引導開發(fā)者走他們設(shè)想中的路子。起碼在這代游戲機上,索尼對存儲系統(tǒng)投入的精力是顯著大于微軟的,也希望開發(fā)者未來能夠充分利用高速SSD。

  這種思路對于整個游戲行業(yè),包括PC游戲,開發(fā)方式的轉(zhuǎn)變會是顯著的。雖然微軟沒有過多透露Xbox Series X的存儲系統(tǒng)相關(guān)信息,但微軟有計劃將DirectStorage API帶到Windows平臺。

  另一方面,AMD作為跨游戲主機和PC兩個平臺的芯片制造商,也切切實實影響到了未來這兩個平臺的游戲相關(guān)硬件技術(shù)走向——SSD在游戲上發(fā)揮作用與AMD也有很大關(guān)系,這一點將在本文的擴展閱讀中提到。如此一來,SSD本身可能才真正開始逐步惠及整個游戲市場,而不只是一些不痛不癢的小變化。更多充分利用SSD特性的開發(fā)成果也才會出現(xiàn)。

13.png

  當然游戲主機換用高速讀取SSD也帶來了一些問題。其中最大的問題恐怕在于,825GB的容量有些捉急,實際可用空間667GiB左右。當游戲以百GB級別存在時,這點容量實在不夠看。索尼去年雖有提到可支持擴展三方SSD,不過現(xiàn)有PC級別的M.2 PCIe 4.0固態(tài)硬盤是真的不便宜,而且還必須夠上PS5原硬盤5.5GB/s的規(guī)格。索尼似乎到現(xiàn)在也沒有公布支持擴容的第三方SSD究竟有哪些。

  與此同時,從索尼的介紹來看,與其高速SSD相關(guān)的存儲I/O架構(gòu)還挺復雜,起碼其定制化程度尤甚。比如說為了減少延遲,索尼針對SSD的I/O命令,搞了一套6種優(yōu)先級的定制化特性,而NVMe標準本身的優(yōu)先級特性沒這么多。索尼的定制I/O單元雖然可以處理這個問題,但需要額外的開銷。

  不過總得來說,這些在開發(fā)變遷的過程中,始終都算是小問題。無論如何,未來主機游戲,乃至PC游戲的走向大約都將因SSD產(chǎn)生真正的變化,這是以前PC廣泛應(yīng)用SSD未能達到的。有關(guān)PS5的I/O架構(gòu),歡迎點擊查看原文,閱讀本文的網(wǎng)頁完整版了解更多。

  

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。