![]()
玩游戲,買顯卡,多少顯存才夠用呢?根據(jù) 3 月份的 Steam 硬件統(tǒng)計(jì),有 27.5% 的 Steam 用戶在使用 8G 顯存的顯卡,占比第一。
![]()
可與主流用戶持有 8G 顯存顯卡不同,時(shí)不時(shí)會(huì)有人去 BBS 上提問,8G 顯存真的夠用嗎?
![]()
要我說的話,只要不爆顯存,就不會(huì)有任何影響。
差友們可能會(huì)問了,啥是爆顯存?
托尼列一個(gè)情況哈:在玩游戲時(shí),有沒有遇到時(shí)不時(shí)卡一下的問題?就是那種多數(shù)情況幀數(shù)都很正常,但就是偶爾卡那么一兩下,還挺煩人的。
多數(shù)情況下,這是由于游戲特效、畫質(zhì)開太高導(dǎo)致顯存不夠用--也就是 "爆顯存" 了。解決方案也簡(jiǎn)單--調(diào)低畫質(zhì)嘛。
但也有不少玩家表示,8G 顯存是真不夠,甚至還有這種極端的"顯存焦慮"。
![]()
作為廣大玩家的一員,托尼真的覺得天下苦 8GB 顯存久矣。要知道 8G 顯存的普及,已經(jīng)是 10 年前的 1070 / RX 480 時(shí)期。
![]()
可 10 年過去了,2K 甚至 4K 分辨率的顯示器普及了, DLSS 都要出到 5 了,貼圖材質(zhì)已經(jīng)翻天覆地了,面對(duì)游戲畫質(zhì)和硬件需求的穩(wěn)步提升,如今的 8G 顯卡,確實(shí)是難以招架了。
加上這波內(nèi)存漲價(jià)潮,大顯存顯卡也在肉眼可見的漲價(jià)。。。難道 8G 顯存真的不配玩游戲了?
不過這兩天托尼上網(wǎng)沖浪的時(shí)候,發(fā)現(xiàn) Steam 的母公司 Valve ,正在開發(fā)一項(xiàng)新技術(shù),嘗試?yán)话?8GB 顯卡,讓大伙避免顯存焦慮。
![]()
具體是怎么個(gè)事呢?在聊新技術(shù)之前,托尼需要解釋一下,為什么爆顯存會(huì)發(fā)生卡頓。
托尼舉一個(gè)不太恰當(dāng),但是很生動(dòng)的例子。
想象數(shù)據(jù)是一輛車,而顯卡是高速公路,那么顯卡的運(yùn)算過程,則是車在高速公路上飛快地跑著。暫時(shí)不用的數(shù)據(jù)(也就是暫時(shí)不跑的車),會(huì)放在顯存(服務(wù)區(qū))上,等需要運(yùn)算的時(shí)候再進(jìn)行調(diào)用。
圖片來源:新華網(wǎng)--一帶一路故事繪丨大道至柬 金港公路助力柬埔寨進(jìn)入“高速時(shí)代”
![]()
那么服務(wù)區(qū)停滿了該怎么辦?要么繼續(xù)在高速路上跑著,要么只能下高速了。這么看,被收費(fèi)站分開的普通道路,就是系統(tǒng)內(nèi)存了。
如果服務(wù)區(qū)被塞滿,想找那輛不在高速路上跑著的"數(shù)據(jù)",就只能出收費(fèi)站,看看普通道路上有沒有了。這一來一回,速度就慢下來,也就是"爆顯存"。
![]()
像托尼的這臺(tái)辦公電腦,平時(shí)就有 1.4G 的顯存占用。而下面的共享 GPU 內(nèi)存,則代表了 Windows 給顯存 "溢出" 的部分,留了一些內(nèi)存空間,避免程序直接崩潰。
![]()
當(dāng)專用 GPU 內(nèi)存(顯存)快被占滿時(shí),程序申請(qǐng)的顯存會(huì)來到共享 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)時(shí)間。如果服務(wù)區(qū)不夠大,那么就得頻繁地在普通道路上找到那輛"數(shù)據(jù)",自然而然卡頓就多了起來。
而 V 社工程師 Vock (pixelcluster) 提出的顯存優(yōu)化方案,可以讓游戲在 Linux 上的 "可用顯存" 更多。
![]()
具體做了什么?簡(jiǎn)單來說,就是把這個(gè)服務(wù)區(qū)不需要的車,給盡可能清空了。
Linux 中使用了 GTT(圖形轉(zhuǎn)換表),來表示車在普通道路(內(nèi)存)上。每個(gè)程序都有屬于自己的 GTT,用來記錄自身的有多少數(shù)據(jù)在內(nèi)存中。
那么事情就變成了:如何讓游戲的數(shù)據(jù)盡可能在顯存里,讓 GTT 里的數(shù)據(jù)盡可能少,這樣就更少地發(fā)生顯存和內(nèi)存的數(shù)據(jù)交換,從而讓卡頓更少了。
![]()
Vock 的辦法是:讓操作系統(tǒng)知道,目前正在運(yùn)行的前臺(tái)游戲,擁有顯存的優(yōu)先使用權(quán)。當(dāng)顯存快被占滿時(shí),后臺(tái)任務(wù)所占用的顯存數(shù)據(jù)將被強(qiáng)制“溢出”到系統(tǒng)內(nèi)存中,從而保證游戲數(shù)據(jù)在顯存里。
因?yàn)樵诖酥埃琇inux 內(nèi)核并不清楚該優(yōu)先保留哪個(gè)程序的數(shù)據(jù)。一旦游戲占用顯存過高,內(nèi)核可能會(huì)將游戲數(shù)據(jù)移出顯存,轉(zhuǎn)而分配給后臺(tái)的瀏覽器窗口等程序,從而導(dǎo)致游戲掉幀、出現(xiàn)卡頓。
而這一套優(yōu)先調(diào)度前臺(tái)游戲的顯存使用策略,以 dmemcg-booster 補(bǔ)丁的形式,可以安裝在 Linux 內(nèi)核中。
Vock 用一張 8G 顯存的顯卡以及《賽博朋克 2077》進(jìn)行了測(cè)試。未應(yīng)用補(bǔ)丁時(shí),有 1.37GB 的數(shù)據(jù)被“溢出”到 GTT。而此時(shí)游戲?qū)嶋H只占用了約 6GB 顯存。
![]()
應(yīng)用補(bǔ)丁后,游戲使用了近 7.4GB 的顯存,GTT 中的溢出數(shù)據(jù)降至僅 650MB。
![]()
所以本質(zhì)上,這套方案并非直接減少顯存占用,而是優(yōu)化了有限顯存的分配優(yōu)先級(jí)。對(duì)于 12GB 顯存的顯卡而言,這套方案的效果可能并不明顯;但對(duì)于 8GB 顯卡,這一優(yōu)化可以充分釋放其潛力。
![]()
就是 dmemcg-booster 這個(gè)補(bǔ)丁,能夠讓游戲?qū)嶋H使用更多顯存,進(jìn)一步榨干顯卡的性能,這點(diǎn)托尼是絕對(duì)支持的。
可這一套方案,目前僅支持 Linux,同時(shí)只有 intel 和 AMD 的 GPU 能夠使用,N 卡由于顯存管理部分是閉源的,所以無法使用。
但老黃也在慢慢開源了
![]()
雖然這個(gè)技術(shù)目前限制頗多,甚至還沒在開發(fā)階段,但考慮到 Steam Machine 也是 8G 的顯存規(guī)格,或許可以期待一下屆時(shí) Steam Machine 會(huì)不會(huì)使用這項(xiàng)技術(shù),實(shí)現(xiàn)更流暢的體驗(yàn)?
![]()
回到開頭的問題:到底多少顯存才夠用?目前來說,大概是 4-8G 顯存可以滿足 1080P,12G 面對(duì) 2K 分辨率夠用;4K 或者更高分辨率?那就是越多越好了。
但托尼不得不說啊。。。最關(guān)心你的游戲體驗(yàn)的,不是微軟索尼,也不是英偉達(dá) AMD,而是一個(gè)游戲起家,后來推出 Steam,最終成為 PC 最大游戲平臺(tái)的公司的 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)
![]()
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
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.