电竞比分网-中国电竞赛事及体育赛事平台

關(guān)于ZAKER 合作
差評 3小時前

玩游戲 8G 顯存不夠用?V 社倒是想拯救一下。

在小說閱讀器讀本章

去閱讀

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

可與主流用戶持有 8G 顯存顯卡不同,時不時會有人去 BBS 上提問,8G 顯存真的夠用嗎?

要我說的話,只要不爆顯存,就不會有任何影響。

差友們可能會問了,啥是爆顯存?

托尼列一個情況哈:在玩游戲時,有沒有遇到時不時卡一下的問題?就是那種多數(shù)情況幀數(shù)都很正常,但就是偶爾卡那么一兩下,還挺煩人的。

多數(shù)情況下,這是由于游戲特效、畫質(zhì)開太高導(dǎo)致顯存不夠用 -- 也就是 " 爆顯存 " 了。解決方案也簡單 -- 調(diào)低畫質(zhì)嘛。

但也有不少玩家表示,8G 顯存是真不夠,甚至還有這種極端的 " 顯存焦慮 "。

作為廣大玩家的一員,托尼真的覺得天下苦 8GB 顯存久矣。要知道 8G 顯存的普及,已經(jīng)是 10 年前的 1070 / RX 480 時期。

可 10 年過去了,2K 甚至 4K 分辨率的顯示器普及了, DLSS 都要出到 5 了,貼圖材質(zhì)已經(jīng)翻天覆地了,面對游戲畫質(zhì)和硬件需求的穩(wěn)步提升,如今的 8G 顯卡,確實(shí)是難以招架了。

加上這波內(nèi)存漲價潮,大顯存顯卡也在肉眼可見的漲價。。。難道 8G 顯存真的不配玩游戲了?

不過這兩天托尼上網(wǎng)沖浪的時候,發(fā)現(xiàn) Steam 的母公司 Valve ,正在開發(fā)一項(xiàng)新技術(shù),嘗試?yán)话?8GB 顯卡,讓大伙避免顯存焦慮。

具體是怎么個事呢?在聊新技術(shù)之前,托尼需要解釋一下,為什么爆顯存會發(fā)生卡頓。

托尼舉一個不太恰當(dāng),但是很生動的例子。

想象數(shù)據(jù)是一輛車,而顯卡是高速公路,那么顯卡的運(yùn)算過程,則是車在高速公路上飛快地跑著。暫時不用的數(shù)據(jù)(也就是暫時不跑的車),會放在顯存(服務(wù)區(qū))上,等需要運(yùn)算的時候再進(jìn)行調(diào)用。

圖片來源:新華網(wǎng) -- 一帶一路故事繪丨大道至柬 金港公路助力柬埔寨進(jìn)入 " 高速時代 "

那么服務(wù)區(qū)停滿了該怎么辦?要么繼續(xù)在高速路上跑著,要么只能下高速了。這么看,被收費(fèi)站分開的普通道路,就是系統(tǒng)內(nèi)存了。

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

像托尼的這臺辦公電腦,平時就有 1.4G 的顯存占用。而下面的共享 GPU 內(nèi)存,則代表了 Windows 給顯存 " 溢出 " 的部分,留了一些內(nèi)存空間,避免程序直接崩潰。

當(dāng)專用 GPU 內(nèi)存(顯存)快被占滿時,程序申請的顯存會來到共享 GPU 內(nèi)存,也就是系統(tǒng)內(nèi)存中,再通過 PCIE 通道與顯卡進(jìn)行數(shù)據(jù)交換。

這點(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 上的 " 可用顯存 " 更多。

具體做了什么?簡單來說,就是把這個服務(wù)區(qū)不需要的車,給盡可能清空了。

Linux 中使用了 GTT(圖形轉(zhuǎn)換表),來表示車在普通道路(內(nèi)存)上。每個程序都有屬于自己的 GTT,用來記錄自身的有多少數(shù)據(jù)在內(nèi)存中。

那么事情就變成了:如何讓游戲的數(shù)據(jù)盡可能在顯存里,讓 GTT 里的數(shù)據(jù)盡可能少,這樣就更少地發(fā)生顯存和內(nèi)存的數(shù)據(jù)交換,從而讓卡頓更少了。

Vock 的辦法是:讓操作系統(tǒng)知道,目前正在運(yùn)行的前臺游戲,擁有顯存的優(yōu)先使用權(quán)。當(dāng)顯存快被占滿時,后臺任務(wù)所占用的顯存數(shù)據(jù)將被強(qiáng)制 " 溢出 " 到系統(tǒng)內(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 顯存。

應(yīng)用補(bǔ)丁后,游戲使用了近 7.4GB 的顯存,GTT 中的溢出數(shù)據(jù)降至僅 650MB。

所以本質(zhì)上,這套方案并非直接減少顯存占用,而是優(yōu)化了有限顯存的分配優(yōu)先級。對于 12GB 顯存的顯卡而言,這套方案的效果可能并不明顯;但對于 8GB 顯卡,這一優(yōu)化可以充分釋放其潛力。

就是 dmemcg-booster 這個補(bǔ)丁,能夠讓游戲?qū)嶋H使用更多顯存,進(jìn)一步榨干顯卡的性能,這點(diǎn)托尼是絕對支持的。

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

但老黃也在慢慢開源了

雖然這個技術(shù)目前限制頗多,甚至還沒在開發(fā)階段,但考慮到 Steam Machine 也是 8G 的顯存規(guī)格,或許可以期待一下屆時 Steam Machine 會不會使用這項(xiàng)技術(shù),實(shí)現(xiàn)更流暢的體驗(yàn)?

回到開頭的問題:到底多少顯存才夠用?目前來說,大概是 4-8G 顯存可以滿足 1080P,12G 面對 2K 分辨率夠用;4K 或者更高分辨率?那就是越多越好了。

但托尼不得不說啊。。。最關(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)

相關(guān)標(biāo)簽

相關(guān)閱讀

最新評論

沒有更多評論了

覺得文章不錯,微信掃描分享好友

掃碼分享

企業(yè)資訊

查看更多內(nèi)容