主目錄 | 其他文章

遊戲專題

把遊戲放在主機之內﹣讀取加速談
文:傑特

以前談遊戲媒體的歴史時,簡單的說過卡帶和光碟的差距。當時有一點只是簡單提過,就是「讀碟速度」,由於這個題目很有意思,所以這回就獨立地分拆開來。

硬碟登場之前
在紅白機年代,由於主機不能放遊戲資料,所以只能用卡帶和磁碟,而一個當時沒有人留意,但現在卻是相當重要的一點是卡帶用的是ROM,相比起雖然成本很低,但讀取速度很慢的磁碟,卡帶由於讀取上有近乎無敵的高速,所以完全不需要擔心存取的問題﹣就像今天玩3DS那樣。
不過隨著光碟的出現,雖然光碟在讀取速度上完全沒得比﹣至今仍是,但因為光碟的生產成本便宜太多,而且任何一間光碟工場都可以制作遊戲光碟,相比起來讀碟的問題就不怎樣重要了。此外在紅白機到Mega Drive年代,遊戲的程式碼並不多,光碟的作用主要是用來放PCM音源和影片,這兩樣東西不需要很多時間就可以讀取和播放,所以早期的光碟遊戲並沒有明顯的讀碟問題,玩家也不會在意,比起來低廉的價錢卻擁有影片和高音質的配樂,讀碟的速度就不是什麼問題了。
不過比起讀碟問題,當時遊戲機的瓶頸不在於媒體,而是處理器的運算速度,一般遊戲還不會有這種問題,但有玩過當年MD的《Advanced 大戰略 德國閃擊戰》就知即使是當時最快速的16bit CPU 的Mega Drive,一但要處理大量的AI運算也是很花時間的,最初的小版圖還只是幾分鐘,但當去到中段的大版圖,等閒十多分鐘一回合,打個四回合就要一個小時,一場海獅作戰可以打上一週,而且絕大部份時間都是電腦在思考!既然瓶頸出在運算,因此光碟的讀取就不是需要擔心的地方了。
不過當遊戲機去到PS年代時,光碟的問題開始浮現了,當時的遊戲機運算速度已經突破了瓶頸,尤其是多邊形運算需要的浮點運算機能的提升,解決了過往處理能力不足的問題。當處理能力提升後,就到光碟的讀碟速度了,不過由於當年的遊戲仍不是很複雜,而遊戲開發者也不像現在般拼命塞程式碼,所以除了Bio又或者FF這類大食怪獸,不然一般遊戲還是在可以接受的程度,特別是玩家已經被高質的影音養大了胃口,相比起華麗的影片、聲優的語音演出,讀碟的等待還是值得的。
好了,進入了DVD的PS2年代,處理器的運算又再升級,但DVD的容量也同樣大升級,讀碟的問題又來了,當時的做法是用更快的光碟盤和多加記憶體,但光碟在物理上讀取速度是有極限的,而記憶體當時也不是便宜之餘,如果不能解決隨機讀碟上的速度問題,那除非把整張DVD一開始全讀到記憶體之內,否則當玩家突然跳去另一個區域,那主機又得重新讀取該部份的資料,想快也快不起來。
當然,像PSV又或者NDS、3DS般用卡帶就最簡單了,但現在一支32G的USB手指還是要三百多元,相比起一張Blu-Ray只需數元,在性價比卡帶還是不能和光碟匹敵,所以在家用機用卡帶放遊戲並不化算,而且現在遊戲公司推廣網上買遊戲,那遊戲機內部也需要有空間放遊戲吧?

硬碟的「二次記憶體」
當然,記憶體是最好的解決方案,如果遊戲機塞上32G記憶體,遊戲開始時把整隻遊戲都抄進去,那就什麼問題都解決了,但問題是所謂「記憶體」是指『隨機存取記憶體 Random Access Memory』,一但關上電源就沒有了,而每一次把一整張DVD讀進去可是很花時間的,至於Blu-Ray就更花時間了,所以單是加記憶體並不治本。
(或者現在電腦的休眠模式可能是方法之一,就是用最少的電力來維持記憶體的資料,那一開機就可以立即遊戲。在PSP這種做法就相當方便了,但家用遊戲機似乎無需長期開啟電源來「想玩就玩」,特別是現在遊戲機很吃電,長期開動不論電力還是熱量都是很麻煩的﹣甚至連公認省電的Wii進入休眠時間都還是會發熱!更別提也沒有必要這樣做,等個幾分鐘還是可以的。)
好了,既然加記憶體不符成本也不切實際。所以遊戲機的設計者就採用了電腦的做法,就是用硬碟作為「二次記憶體」,雖然相比起記憶體速度仍然很慢,但比起光碟已經快得多,像PS3的Blu-Ray速度只有2x,平均傳輸速度為每秒8MB/s,至於Xbox 360則是DVD 12x,平均速度由8.2~16.5MB/s,而PS3的SATA1平均速度達150MB/s,而一般的2.5吋硬碟5400轉的話可以達到平均100MB/s的高速度,比Xbox 360要快上六倍以上,比PS3快十三倍,而且不會因為沒電而消失,只要第一次花點時間讀碟之後就不用再讀,這不就可以兼速度和成本兩者之得嗎?
這種有點像windows以USB手指來加速軟件的讀取,都是以一種更快的媒體來當成「二次記憶體」,把一些經常要讀取的資料先抄進去,不常用的大檔案才再在光碟讀取,這既不需要像電腦般無限制地加大硬碟,但又可以提升讀取速度,而且因為還需要光碟才能玩,也可以防止海賊的散佈。算是相當實在的解決方法。

SSD的更高速化
其實除了遊戲機追求高速,電腦也追求高速,尤其比起遊戲機,電腦更早就進入了讀取的瓶頸,他們的問題是雖然SATA由1去到3,介面速度已大幅提升,但這次的問題是在硬碟物理上無法再提升,即使去到萬轉的企業硬碟也不會快很多,而且耗電量、熱力也是大問題,尤其電腦很多都是長期運作,讓一個萬轉的硬碟不停地轉,會覺得不安的人絕對不止筆者一個。
這時採用NAND Flash的SSD(固態硬碟 Solid-State Disk)就登場了,首先它採用電子模式記錄數據,相比起傳統以磁區來記錄數據的硬碟速度是完全是壓倒性的,而且其低耗電、低溫及長期運作的安全性也比硬碟來得強,也只有SSD才能把SATA3甚至PCIE的極度發揮出來。以筆者的Macbook Air(2013)採用PCIE,實測速度可以去到4xx MB/s,遠遠把傳統的硬碟拋在後頭。當然,成本絕對比硬碟貴是問題,所以Windows的用家會把SSD用來當系統碟,然後把一般檔案放在一般硬碟,這就可以兼二者之長了。而Mac的Fusion Drive則由Apple替你分配,系統自動把經常讀取的檔案放到SSD,不常讀取的則放到硬碟,其實這就用Windows用家的做法差不多,只是這裡則交由系統替你解決,不用你花精神。

遊戲機該用SSD嗎?
很多玩家在PS4發表時都期待能使用SSD,但結果還是硬碟。當然原因是硬碟成本相當低,像現在一個128G的SSD也要六百元,而這已經可以買到一個1TB的2.5吋硬碟了,而現在PS4也只給你一個500G的硬碟,價錢有多便宜有買小硬碟的朋友也心裡有數吧!
由於現時Sony並未公佈硬碟傳送介面,不過常理來說應會是SATA3吧,理論上可達600MB/s,但以硬碟的速度大概只有100MB/s左右,並不會快上多少。
那,我們自己換上SSD又如何?
在PS3有人真的玩這招,但因為受限於SATA的上限,所以換了SSD也沒有變快多少,而且PS3並不支援SSD,硬要使用其實會影響SSD效能(關乎Trim指令的支援,這個太複雜了,請自行問咕狗大神吧),所以實際會換的人並不多。但去到PS4如果是SATA3的話,SSD的速度優勢就出來了,尤其是像GT這類需要大量資料讀取的遊戲,硬碟和SSD的差距可以很驚人,而且溫度和耗電也會有大幅的改善,對於一直都是吃電怪獸的PS3和PS4來說,如果能在SSD上改善絕對是百利而無一害。
但問題是採用FreeBSD作核心的PS4 OS願不願意支援SSD?
的確500G甚至1T的容量是很吸引,但實際有幾人是真的用滿那500G?遊戲不玩可以刪掉,無需放在遊戲機內佔空間,而現在一台128G SSD才不過六百多元,對於追求速度的玩家來說不是一個大數目﹣現在等閒一隻遊戲都要這個價錢了!甚至花上千多元買256G SSD如果能加速的話也是值得投資﹣尤其當你玩遊戲轉個場景也要讀碟,你就會覺得花兩三隻遊戲的價錢並不是一個大問題。
所以問題就只是Sony願不願意了,這其實不是什麼問題(加入幾組指令就可以),如果可以做到的話PS4才是真正發揮其本領的時候,否則1080i的遊戲已經慢得要命,去到1080p甚至4k的遊戲,想想要多少時間?
所以,現在遊戲機最重要的並不是CPU有多強,而是能不能支援SSD這類高速媒體,做不到的話CPU再快也是無用。



主目錄 | 其他文章