![]()
玩游戲,買顯卡,多少顯存才夠用呢?根據 3 月份的 Steam 硬件統計,有 27.5% 的 Steam 用戶在使用 8G 顯存的顯卡,占比第一。
![]()
可與主流用戶持有 8G 顯存顯卡不同,時不時會有人去 BBS 上提問,8G 顯存真的夠用嗎?
![]()
要我說的話,只要不爆顯存,就不會有任何影響。
差友們可能會問了,啥是爆顯存?
托尼列一個情況哈:在玩游戲時,有沒有遇到時不時卡一下的問題?就是那種多數情況幀數都很正常,但就是偶爾卡那么一兩下,還挺煩人的。
多數情況下,這是由于游戲特效、畫質開太高導致顯存不夠用--也就是 "爆顯存" 了。解決方案也簡單--調低畫質嘛。
但也有不少玩家表示,8G 顯存是真不夠,甚至還有這種極端的"顯存焦慮"。
![]()
作為廣大玩家的一員,托尼真的覺得天下苦 8GB 顯存久矣。要知道 8G 顯存的普及,已經是 10 年前的 1070 / RX 480 時期。
![]()
可 10 年過去了,2K 甚至 4K 分辨率的顯示器普及了, DLSS 都要出到 5 了,貼圖材質已經翻天覆地了,面對游戲畫質和硬件需求的穩步提升,如今的 8G 顯卡,確實是難以招架了。
加上這波內存漲價潮,大顯存顯卡也在肉眼可見的漲價。。。難道 8G 顯存真的不配玩游戲了?
不過這兩天托尼上網沖浪的時候,發現 Steam 的母公司 Valve ,正在開發一項新技術,嘗試拉一把 8GB 顯卡,讓大伙避免顯存焦慮。
![]()
具體是怎么個事呢?在聊新技術之前,托尼需要解釋一下,為什么爆顯存會發生卡頓。
托尼舉一個不太恰當,但是很生動的例子。
想象數據是一輛車,而顯卡是高速公路,那么顯卡的運算過程,則是車在高速公路上飛快地跑著。暫時不用的數據(也就是暫時不跑的車),會放在顯存(服務區)上,等需要運算的時候再進行調用。
圖片來源:新華網--一帶一路故事繪丨大道至柬 金港公路助力柬埔寨進入“高速時代”
![]()
那么服務區停滿了該怎么辦?要么繼續在高速路上跑著,要么只能下高速了。這么看,被收費站分開的普通道路,就是系統內存了。
如果服務區被塞滿,想找那輛不在高速路上跑著的"數據",就只能出收費站,看看普通道路上有沒有了。這一來一回,速度就慢下來,也就是"爆顯存"。
![]()
像托尼的這臺辦公電腦,平時就有 1.4G 的顯存占用。而下面的共享 GPU 內存,則代表了 Windows 給顯存 "溢出" 的部分,留了一些內存空間,避免程序直接崩潰。
![]()
當專用 GPU 內存(顯存)快被占滿時,程序申請的顯存會來到共享 GPU 內存,也就是系統內存中,再通過 PCIE 通道與顯卡進行數據交換。
這點是最要命的。顯存(服務區)和內存(普通道路)之間傳輸數據的 PCIE 通道(可以理解為收費站),相比顯存自身的速度屬實是慢了很多,搬運起來也特別費時間。如果服務區不夠大,那么就得頻繁地在普通道路上找到那輛"數據",自然而然卡頓就多了起來。
而 V 社工程師 Vock (pixelcluster) 提出的顯存優化方案,可以讓游戲在 Linux 上的 "可用顯存" 更多。
![]()
具體做了什么?簡單來說,就是把這個服務區不需要的車,給盡可能清空了。
Linux 中使用了 GTT(圖形轉換表),來表示車在普通道路(內存)上。每個程序都有屬于自己的 GTT,用來記錄自身的有多少數據在內存中。
那么事情就變成了:如何讓游戲的數據盡可能在顯存里,讓 GTT 里的數據盡可能少,這樣就更少地發生顯存和內存的數據交換,從而讓卡頓更少了。
![]()
Vock 的辦法是:讓操作系統知道,目前正在運行的前臺游戲,擁有顯存的優先使用權。當顯存快被占滿時,后臺任務所占用的顯存數據將被強制“溢出”到系統內存中,從而保證游戲數據在顯存里。
因為在此之前,Linux 內核并不清楚該優先保留哪個程序的數據。一旦游戲占用顯存過高,內核可能會將游戲數據移出顯存,轉而分配給后臺的瀏覽器窗口等程序,從而導致游戲掉幀、出現卡頓。
而這一套優先調度前臺游戲的顯存使用策略,以 dmemcg-booster 補丁的形式,可以安裝在 Linux 內核中。
Vock 用一張 8G 顯存的顯卡以及《賽博朋克 2077》進行了測試。未應用補丁時,有 1.37GB 的數據被“溢出”到 GTT。而此時游戲實際只占用了約 6GB 顯存。
![]()
應用補丁后,游戲使用了近 7.4GB 的顯存,GTT 中的溢出數據降至僅 650MB。
![]()
所以本質上,這套方案并非直接減少顯存占用,而是優化了有限顯存的分配優先級。對于 12GB 顯存的顯卡而言,這套方案的效果可能并不明顯;但對于 8GB 顯卡,這一優化可以充分釋放其潛力。
![]()
就是 dmemcg-booster 這個補丁,能夠讓游戲實際使用更多顯存,進一步榨干顯卡的性能,這點托尼是絕對支持的。
可這一套方案,目前僅支持 Linux,同時只有 intel 和 AMD 的 GPU 能夠使用,N 卡由于顯存管理部分是閉源的,所以無法使用。
但老黃也在慢慢開源了
![]()
雖然這個技術目前限制頗多,甚至還沒在開發階段,但考慮到 Steam Machine 也是 8G 的顯存規格,或許可以期待一下屆時 Steam Machine 會不會使用這項技術,實現更流暢的體驗?
![]()
回到開頭的問題:到底多少顯存才夠用?目前來說,大概是 4-8G 顯存可以滿足 1080P,12G 面對 2K 分辨率夠用;4K 或者更高分辨率?那就是越多越好了。
但托尼不得不說啊。。。最關心你的游戲體驗的,不是微軟索尼,也不是英偉達 AMD,而是一個游戲起家,后來推出 Steam,最終成為 PC 最大游戲平臺的公司的 V 社。
撰文:洛洛
編輯:米羅
美編:素描
圖片、資料來源:
https://github.com/Umio-Yasuno/amdgpu_top
https://pixelcluster.github.io/VRAM-Mgmt-fixed/
steam官網
nvidia官網
維基百科
nga玩家社區
新華網
![]()
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.