遊戲中開啓MipMap會導致紋理消耗內存增大多少

遊戲中開啓MipMap會導致紋理消耗內存增大多少

當物體與投影面的距離發生變化的時候,物體在投影面的大小也發生着變化,如果此時還是用一張尺寸大,分辨率高的紋理就會過分的消耗GPU的性能,所以我們有了MipMap可以生成一組分辨率逐漸降低的紋理序列,可是當我們開啓MipMap的時候他究竟會比沒有開內存相差多少?

在這裏插入圖片描述
先看一下他們的大小總和:

T(n) = 1 + 1/4 + 1/16 + 1/64 + …1/4^n

然後我們求解這個公式可得:

其中:

1/4 + 1/16 + 1/64 + …1/4^n = 1/4 + 1/4(1/4 + 1/16 + 1/64 + …1/4^(n-1))

1/4 + 1/16 + 1/64 + …1/4^n - 1/4(1/4 + 1/16 + 1/64 + …1/4^(n-1)) = 1/4

因爲接近於無窮 所以可約等於:

3/4(1/4(1/4 + 1/16 + 1/64 + …1/4^n) = 1/4

然後將左右兩側除以3/4可得

(1/4(1/4 + 1/16 + 1/64 + …1/4^n) ≈ 1/3

所以T(n) =1 + 1/3

所以開啓MipMap之後產生的內存消耗與沒有開啓相差 4/3倍

mipmapping : 多級漸遠紋理,主要是爲了做貼圖的縮小,貼圖勾選mipmap選項後,會事先生成一組縮小後的紋理貼圖,當攝像頭距離紋理比較遠的時候自動用較小的紋理貼圖。通常會多佔用33%的存儲空間,這個是典型的空間換取時間的用法。

來源:https://en.wikipedia.org/wiki/Mipmap

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章