全稱 Delta Color Compression
DCC 是一種無損的壓縮方法豁鲤。
DCC 是一種只適用于特定領(lǐng)域(GPU 產(chǎn)生的圖像)的壓縮方法轧铁。
壓縮算法乎赴,
- 分塊摔竿。將渲染圖像分成如果像素塊间坐,例如 32x32
- 逐塊壓縮灾挨,
2.1. 選取一個(gè)像素,以完整精度表示竹宋,例如 Int32
2.2. 遍歷其他像素劳澄,計(jì)算與上述像素的差值,并以降低精度表示蜈七,例如 Int16
能夠采用這個(gè)壓縮算法是基于一個(gè)趨勢秒拔,
屏幕分辨率越來越大,那么一個(gè)固定大小的像素塊中的內(nèi)容相近的概率越來越大飒硅。
例如砂缩,渲染天空,32x32 的像素塊的前提下三娩,分辨率越大庵芭,一個(gè)像素塊中的內(nèi)容越接近,壓縮效果就越好雀监。
Delta 是增量的意思双吆。
分辨率越來越大眨唬,幀率越來越高,對帶寬的需求就越來越高好乐。
幀緩沖區(qū)除了 GPU 會(huì)按照幀率寫入以外匾竿,還有顯示控制器會(huì)按照顯示器刷新率去讀取。
因此蔚万,
對幀緩沖區(qū)做壓縮岭妖,性價(jià)比高,值得去做反璃。
將幀緩沖區(qū)壓縮后再寫入或讀取昵慌,可以減少訪問顯存的帶寬,進(jìn)而降低功耗和提升效率版扩。
其他 GPU 廠商都有類似的技術(shù)废离,例如 ARM 的 AFBC 等。