爲什麼遊戲貼圖不能用 JPEG,神經網絡卻能砍掉 85% 顯存?
你一定幹過這件事:
新遊戲進去,幀數抖得像帕金森,任務欄一看——顯存 8GB,佔用 7.9GB。於是你熟練地把"材質質量"從超高拉到高。幀數瞬間回來了,代價是牆面變成了土豆泥,遠處的招牌糊成一坨馬賽克。
你可能罵過優化,罵過老黃的刀法,但很少有人問一個更基礎的問題:
貼圖憑什麼這麼佔地方?我手機拍的 4000 萬像素照片才 8MB,遊戲裏一塊石頭的貼圖憑什麼喫掉幾百 MB 顯存?
這個問題的答案,恰好是理解 2026 年最值得關注的一項圖形技術——神經紋理壓縮(Neural Texture Compression, NTC)——的最佳入口。英偉達在 GTC 2026 上又拿它出來講了一遍,演示數據相當唬人:同一個場景,傳統方案喫 6.5GB 顯存,NTC 只要 970MB,肉眼看不出差別。
那就從"一張貼圖的賬本"開始拆。
一、顯存的賬本——一張貼圖到底多貴
先算筆賬。你現在玩的主機/PC 大作,貼圖普遍是 4K 分辨率(4096×4096 像素)。
一張 4K 貼圖,如果每個像素存 RGBA 四個通道、每通道 1 字節(也就是最常見的 8-bit 未壓縮格式),體積是:
4096 × 4096 × 4 字節 ≈ 67 MB
注意,這只是一個材質的一張圖。而現代遊戲用的是 PBR(基於物理的渲染)材質——一個材質不是一張圖,而是一整套地圖(texture maps):
基礎色(Albedo/Base Color):物體本來是什麼顏色
法線貼圖(Normal):表面凹凸的朝向,決定光怎麼打
粗糙度(Roughness):磨砂還是鏡面
金屬度(Metallic):金屬還是非金屬
環境光遮蔽(AO):縫隙裏更暗
少則三五張,多則七八張。一個材質 67MB × 6 ≈ 400MB。一個場景裏幾百上千個材質疊起來,顯存被喫穿一點都不奇怪。
這也是爲什麼顯存爆掉成了這兩年的高頻慘案:
《最後生還者 第一部》PC 版首發時,材質開到頂,8GB 顯存直接原地去世,官方後來連發補丁才緩解;
《霍格沃茨之遺》更離譜,高材質預設的顯存胃口大得離譜,8GB / 10GB 卡紛紛中招,玩家被迫在"糊"和"卡"之間二選一。
所以第一個結論很樸素:不是廠商懶,是貼圖這東西天生就貴,而且貴得有物理原因。
二、爲什麼不用 JPEG?——"隨機訪問"這條鐵律
你可能會說:照片都用 JPEG,一張才幾 MB,遊戲貼圖爲什麼不直接 JPEG 壓了事?
答案藏在一個你平時根本不會想到的詞裏:隨機訪問(random access)。
GPU 渲染一幀畫面,每一個像素都要去貼圖裏"採樣"——根據屏幕上的座標,去紋理上找對應的紋素(texel)。一幀 4K 畫面有 800 多萬個像素,每個像素可能採樣多次(各向異性過濾、多級漸遠紋理……),一幀下來,GPU 要隨機訪問幾十億次紋素。
JPEG 這類"熵編碼"壓縮的問題是:它爲了壓得狠,把整個圖像的相關性攪在一起。你想取其中一個小塊,得先把整張圖解碼出來。GPU 不可能爲了取一個紋素就把 67MB 全解了——解碼延遲會直接把幀率拖進地心。
所以遊戲貼圖走的是另一條路:塊壓縮(block compression, BCn 系列,PC 上是 BC1~BC7)。
它的邏輯特別"老實":
把貼圖切成 4×4 像素的小塊,每塊獨立壓縮;
每塊的字節數固定(比如 BC7 每塊 16 字節,對應 4×4=16 像素,平均每個像素 1 字節,即未壓縮的 1/4);
GPU 硬件原生支持,採樣時只解當前小塊,零額外延遲。
代價也寫在物理規律裏:壓縮比被鎖死在約 4:1。紋理越精細、信息越密,BC7 越喫虧——它沒法像 JPEG 那樣"看整張圖"去壓榨冗餘。
一個經典反面教材是 id Software 的 《RAGE》。它當年搞了套激進的 MegaTexture(虛擬紋理)技術,試圖用一張超巨圖覆蓋整個世界。理想很豐滿,現實是貼圖流式加載跟不上,玩家跑動時牆面、地面一塊塊"漸入"、甚至長時間糊着,被瘋狂吐槽。問題根源之一,正是這種"另類壓縮/流式方案"和硬件隨機訪問特性沒對上拍。
所以第二件事:遊戲貼圖是被 GPU 的訪問方式綁架的。能用的壓縮,必須小塊、固定比、可瞬時隨機解——而這就掐死了壓縮率的脖子。
三、NTC 的思路——從"存像素"到"存函數"
英偉達的 NTC(以及學術界更早的 Neural Texture / Latent Texture 方向)想幹的,是換一種範式:
不再存"像素數組",而是存一個"生成像素的函數"。
具體做法是三件套:
潛在紋理(latent texture):把原來的高分辨率貼圖,用神經網絡壓成一個低分辨率、但信息密度極高的"潛在表示"。它佔的空間極小。
小型神經解碼器:一個輕量神經網絡,輸入"位置座標 + 潛在紋理",輸出該位置的完整紋素。
位置編碼(positional encoding):讓網絡能精確定位到任意座標,而不是隻會在固定網格上插值。
這裏面有三個必須說清楚的關鍵點,否則很容易把它誤解成"AI 一鍵美顏":
這是離線、針對該素材"過擬合"的網絡,不是通用大模型。 每個材質訓練一個專屬的小解碼器,訓練完就固定了。它不會突然冒出訓練集裏沒有的奇怪內容。
它是確定性的,非生成式的。 同一個座標、同一個潛在紋理,永遠輸出同一個紋素。沒有"AI 幻覺",沒有這一幀牆面是磚、下一幀變大理石的恐怖故事。這對遊戲是底線——玩家能容忍掉幀,不能容忍世界隨機抽風。
它喫"跨通道的統計冗餘"。 前面說過 PBR 材質是一堆圖,它們之間高度相關(比如法線和粗糙度往往同步變化)。傳統 BC 壓縮是逐張獨立壓的;神經網絡可以聯合建模,把這部分冗餘也榨出來。
運行時,這個解碼器跑在 Tensor Core 上——也就是專門給矩陣乘法用的那塊硬件,跟負責光柵化、光追的主流水線分開,不搶傳統渲染的資源。這是它能落地的前提:加了一層神經網絡,但不能讓畫面其他地方變慢。
一句話總結範式轉變:BC 壓縮是"把圖壓扁",NTC 是"把圖變成一個可以按需查詢的函數"。
四、實測數據與兩種落地模式(含一盆冷水)
光講原理沒意思,看數字。英偉達官方放出的兩個例子很有代表性:
一個叫 Tuscan Villa 的演示場景:傳統 BCn 貼圖 6.5GB 顯存,換成 NTC 後 970MB——砍掉約 85%。
一個 VR 頭盔貼圖:原始 272MB,NTC 後 11.37MB——壓縮比誇張到約 24:1。越"密"的材質,收益越大。
但這裏有個關鍵的工程細節,決定了你到底省不省顯存——NTC 有兩種使用模式:
Inference on Load(加載時推理):遊戲讀盤時,把潛在紋理一次性"解"成常規貼圖再塞進顯存。這種情況下,顯存佔用和 BC 差不多,省的是硬盤空間和讀盤帶寬,不省顯存。
Inference on Sample(採樣時推理):潛在紋理直接躺在顯存裏,GPU 採樣時才現過神經網絡解碼。這種情況下,顯存才真正省下來,但每次採樣多了一次 Tensor Core 計算。
所以廠商想省顯存,得走 Inference on Sample——這也意味着要改渲染管線的採樣路徑,不是換個格式那麼簡單。
工程進度方面,NTC SDK 0.9 階段已經把 BC7 編碼速度提升了約 6 倍、推理快了 20~40%。但最該潑的一盆冷水是:
截至目前,沒有任何一款正式商用的買斷/服務型遊戲,公開採用了 NTC。
它是 GTC 舞臺上的明星,是論文和 SDK 裏的成熟技術,但還不是你明年打開 Steam 就能感受到的東西。這點必須講清楚,否則就成了"廠商畫餅我幫吹"。
五、順手一提:神經材質(Neural Material)
NTC 解決的是"貼圖存和取",還有另一支技術在做"貼圖算"——神經材質。
PBR 着色裏有一類運算叫 BRDF(雙向反射分佈函數),負責算"光打在這個表面上,眼睛看到什麼顏色"。在 4K 分辨率下每個像素都算一遍複雜的 BRDF,開銷不小。神經材質用一個小網絡替代這部分高負載運算:訓練一個能復現 BRDF 結果的輕量網絡,運行時直接查/算,跳過昂貴的物理公式。
英偉達的 Neural Material 研究裏,1080p 下最高能拿到 7.7 倍的着色提速。
把這條線連起來看會很有意思:
DLSS 4 / 4.5:用神經網絡把低分辨率"補"成高分辨率(超分);
Ray Reconstruction(光線重建):用神經網絡收拾降噪後的光追噪點;
神經材質 / NTC:把着色計算和貼圖存取也神經化。
整條渲染管線正在被一段一段地"神經網絡化"。 落地的例子已經能摸到——《黑神話:悟空》在 DLSS 4 / 4.5 上的表現,就是這條線的現實註腳:同畫質下幀率明顯更穩,同幀率下能開更高畫質。老黃這套"AI 補幀補畫質"的打法,已經不是 PPT 了
![]()
更多遊戲資訊請關註:電玩幫遊戲資訊專區
電玩幫圖文攻略 www.vgover.com
