在小說閱讀器讀本章
去閱讀
玩游戲,買顯卡,多少顯存才夠用呢?根據(jù) 3 月份的 Steam 硬件統(tǒng)計(jì),有 27.5% 的 Steam 用戶在使用 8G 顯存的顯卡,占比第一。


差友們可能會問了,啥是爆顯存?
托尼列一個情況哈:在玩游戲時,有沒有遇到時不時卡一下的問題?就是那種多數(shù)情況幀數(shù)都很正常,但就是偶爾卡那么一兩下,還挺煩人的。
多數(shù)情況下,這是由于游戲特效、畫質(zhì)開太高導(dǎo)致顯存不夠用 -- 也就是 " 爆顯存 " 了。解決方案也簡單 -- 調(diào)低畫質(zhì)嘛。
但也有不少玩家表示,8G 顯存是真不夠,甚至還有這種極端的 " 顯存焦慮 "。


加上這波內(nèi)存漲價潮,大顯存顯卡也在肉眼可見的漲價。。。難道 8G 顯存真的不配玩游戲了?
不過這兩天托尼上網(wǎng)沖浪的時候,發(fā)現(xiàn) Steam 的母公司 Valve ,正在開發(fā)一項(xiàng)新技術(shù),嘗試?yán)话?8GB 顯卡,讓大伙避免顯存焦慮。

托尼舉一個不太恰當(dāng),但是很生動的例子。
想象數(shù)據(jù)是一輛車,而顯卡是高速公路,那么顯卡的運(yùn)算過程,則是車在高速公路上飛快地跑著。暫時不用的數(shù)據(jù)(也就是暫時不跑的車),會放在顯存(服務(wù)區(qū))上,等需要運(yùn)算的時候再進(jìn)行調(diào)用。
圖片來源:新華網(wǎng) -- 一帶一路故事繪丨大道至柬 金港公路助力柬埔寨進(jìn)入 " 高速時代 "

如果服務(wù)區(qū)被塞滿,想找那輛不在高速路上跑著的 " 數(shù)據(jù) ",就只能出收費(fèi)站,看看普通道路上有沒有了。這一來一回,速度就慢下來,也就是 " 爆顯存 "。


這點(diǎn)是最要命的。顯存(服務(wù)區(qū))和內(nèi)存(普通道路)之間傳輸數(shù)據(jù)的 PCIE 通道(可以理解為收費(fèi)站),相比顯存自身的速度屬實(shí)是慢了很多,搬運(yùn)起來也特別費(fèi)時間。如果服務(wù)區(qū)不夠大,那么就得頻繁地在普通道路上找到那輛 " 數(shù)據(jù) ",自然而然卡頓就多了起來。
而 V 社工程師 Vock ( pixelcluster ) 提出的顯存優(yōu)化方案,可以讓游戲在 Linux 上的 " 可用顯存 " 更多。

Linux 中使用了 GTT(圖形轉(zhuǎn)換表),來表示車在普通道路(內(nèi)存)上。每個程序都有屬于自己的 GTT,用來記錄自身的有多少數(shù)據(jù)在內(nèi)存中。
那么事情就變成了:如何讓游戲的數(shù)據(jù)盡可能在顯存里,讓 GTT 里的數(shù)據(jù)盡可能少,這樣就更少地發(fā)生顯存和內(nèi)存的數(shù)據(jù)交換,從而讓卡頓更少了。

因?yàn)樵诖酥?,Linux 內(nèi)核并不清楚該優(yōu)先保留哪個程序的數(shù)據(jù)。一旦游戲占用顯存過高,內(nèi)核可能會將游戲數(shù)據(jù)移出顯存,轉(zhuǎn)而分配給后臺的瀏覽器窗口等程序,從而導(dǎo)致游戲掉幀、出現(xiàn)卡頓。
而這一套優(yōu)先調(diào)度前臺游戲的顯存使用策略,以 dmemcg-booster 補(bǔ)丁的形式,可以安裝在 Linux 內(nèi)核中。
Vock 用一張 8G 顯存的顯卡以及《賽博朋克 2077》進(jìn)行了測試。未應(yīng)用補(bǔ)丁時,有 1.37GB 的數(shù)據(jù)被 " 溢出 " 到 GTT。而此時游戲?qū)嶋H只占用了約 6GB 顯存。



可這一套方案,目前僅支持 Linux,同時只有 intel 和 AMD 的 GPU 能夠使用,N 卡由于顯存管理部分是閉源的,所以無法使用。
但老黃也在慢慢開源了


但托尼不得不說啊。。。最關(guān)心你的游戲體驗(yàn)的,不是微軟索尼,也不是英偉達(dá) AMD,而是一個游戲起家,后來推出 Steam,最終成為 PC 最大游戲平臺的公司的 V 社。
撰文:洛洛
編輯:米羅
美編:素描
圖片、資料來源:
https://github.com/Umio-Yasuno/amdgpu_top
https://pixelcluster.github.io/VRAM-Mgmt-fixed/
steam 官網(wǎng)
nvidia 官網(wǎng)
維基百科
nga 玩家社區(qū)
新華網(wǎng)

