全稱 Delta Color Compression
DCC 是一種無損的壓縮方法。
DCC 是一種只適用于特定領(lǐng)域(GPU 產(chǎn)生的圖像)的壓縮方法。
壓縮算法,
- 分塊。將渲染圖像分成如果像素塊,例如 32x32
- 逐塊壓縮,
2.1. 選取一個像素,以完整精度表示,例如 Int32
2.2. 遍歷其他像素,計算與上述像素的差值,并以降低精度表示,例如 Int16
能夠采用這個壓縮算法是基于一個趨勢,
屏幕分辨率越來越大,那么一個固定大小的像素塊中的內(nèi)容相近的概率越來越大。
例如,渲染天空,32x32 的像素塊的前提下,分辨率越大,一個像素塊中的內(nèi)容越接近,壓縮效果就越好。
Delta 是增量的意思。

分辨率越來越大,幀率越來越高,對帶寬的需求就越來越高。
幀緩沖區(qū)除了 GPU 會按照幀率寫入以外,還有顯示控制器會按照顯示器刷新率去讀取。
因此,
對幀緩沖區(qū)做壓縮,性價比高,值得去做。
將幀緩沖區(qū)壓縮后再寫入或讀取,可以減少訪問顯存的帶寬,進(jìn)而降低功耗和提升效率。
其他 GPU 廠商都有類似的技術(shù),例如 ARM 的 AFBC 等。