減緩處理器IO瓶頸
簡單地說,RTX IO就是DirectStorage在NVIDIA顯示卡的實作,我們先前已經在GeForce RTX 30系列顯示卡發表會的文章中,提到RTX IO的技術概念,並在另一篇文章介紹了Microsoft DirectStorage API的特色,建議讀者可以先閱讀下列2篇文章。
延伸閱讀:
NVIDIA新品終於亮相,GeFocre RTX 3090多項全新黑科技技術公開
Microsoft說明DirectStorage特色,看懂GeForce 30系列RTX IO技術有何優勢
隨著現在遊戲畫質不斷提升,解析度也逐步從1080p推向4K甚至8K,因此開發者往往需要準備解析度更高的材質貼圖,並在畫面上使用更多使用貼圖,以繪製更加逼真的遊戲畫面。這除了增加顯示卡繪圖方面的運算負載、顯示記憶體使用量之外,也會因為系統需要更頻繁讀取容量龐大的貼圖,進而增加儲存裝置的工作負擔。
在過去遊戲解析度比較低的時期,貼圖的總容量並不會太大,存取效能為50MB/s的傳統硬碟可能就足以應付遊戲需求。然而隨著顯示卡的效能不斷提升,能夠繪製更細膩的3D圖像的同時,使用的貼圖也隨之增加,對於儲存裝置效能的需求也越來越高,甚至超過SATA或是PCIe Gen3介面固態硬碟的頻寬。
大幅提升遊戲載入速度
為了增加讀取貼圖的效率,將資料壓縮便成為解決方法之一。若從頻寬為7GB/s的PCIe Gen4介面固態硬碟讀取壓縮貼圖檔案的話,解壓縮後大概等同於具有12GB/s的讀取效能,但這將佔用約24個處理器核心的資源,將造成另一個嚴重的效能瓶頸。
RTX IO的2大優勢是能讓顯示卡直接讀取儲存在固態硬碟中的資料,並在在顯示卡上進行解壓縮。相較於傳統作法需要
1. 透過處理器安排讀取佇列
2. 將資料讀取至主記憶體
3. 透過處理器解壓縮
4. 將資料傳送至顯示記憶體
而RTX IO則只需
1. 透過處理器安排讀取佇列
2. 直接資料讀取至顯示記憶體
3. 透過顯示卡解壓縮
兩者相比,可以發現傳統做法相當耗費系統資源,而RTX IO不但僅需使用大約0.5個處理器核心資源(安排讀取佇列佔用資源極低,僅需1個執行緒即可),還可省下反覆傳輸資料所耗費的時間。另一方面Microsoft DirectX Developer Blog的《DirectStorage is coming to PC》一文也指出,「DirectStorage能夠支援當下以及未來的解壓縮技術」,言下之意除了代表DirectStorage能夠支援多種解壓縮演算法之外,也暗示了可能可以使用其他廠商的軟、硬體解壓縮方案。
NVIDIA技術行銷經理蘇家興在回覆筆者的問題中提到,在RTX IO進行解壓縮的過程中,大約只會佔用1組SM(Streaming Multiprocessor)的運算資源。雖然還是會佔用到顯示卡的資源,但只會對效能造成些許影響(筆者註:若考量到GeForce RTX 3080總共具有68組SM,只佔用1組真的對效能的衝擊有限),相較之下若以純粹以處理器進行解壓縮,推估需要佔用24個處理器核心,可能已經超過許多電腦所能負荷,因此使用顯示卡進行解壓縮有其實用價值。
讓遊戲讀取更快、畫面更讚
RTX IO的優勢之一,就是能大幅縮短遊戲的讀取時間,雖然目前市面上還沒有實際支援RTX IO或DirectStorage的遊戲,但NVIDIA已經在Marbles at Night技術展示中導入RTX IO。
在使用傳統硬碟搭配無壓縮資料的情況下,讀取時間長達62.13秒,若改為NVMe固態硬碟搭配壓縮資料,讀取時間則可縮短至5.25秒,而使用RTX IO搭配NVMe固態硬碟與壓縮資料,則可再縮短至1.62秒,可見RTX IO對讀取時間的最佳化有莫大幫助。
另一方面,RTX IO也能讓無縫開放世界遊戲更快速地讀取材質貼圖,進而讓開發者能在遊戲中安排更細膩的貼圖,以發揮提升遊戲畫質的效果,這點也是《DirectStorage is coming to PC》一文提到DirectStorage的附加效果之一。
對於這點蘇家興也在回覆筆者的過程中,透露或許未來遊戲開發者會在開發過程中準備支援與關閉RTX IO的版本,若玩家的電腦支援RTX IO,則會讀取更大量的材質貼圖,提供玩家更逼真的視覺體驗。
▲Marbles at Night技術展示範例程式是Marbles的升級版,加入了更多光源變化,並導入多項GeForce RTX 30系列顯示卡的新技術。
目前RTX IO與DirectStorage都還處於相當初期的開發階段,尚無遊戲導入這項技術,而Microsoft預計到2021年才會將PC版DirectStorage開發者預覽版交至遊戲開發者手中,想要搶先體驗這類技術的玩家,可能需要先在Xbox Series X主機上聞香。
加入電腦王Facebook粉絲團