圖片顯存計算

 

顯存容量=顯示分辨率×顏色位數/8bit

注意,圖片在顯存中的佔用空間和存儲時的佔用空間,是不同的概念,顯存主要是解碼後的每個點的數據,文件數據要看你的格式、壓縮比、文件頭、附加信息等等,因此文件數據和圖片在內存和顯存中的數據差別可能會很大。

以下圖爲例

直接查看屬性,可以看到,文件大小,41.8KB,170*153分辨率,佔用空間44.0KB,佔用空間和文件本身大小差距不大,存儲文件佔用的內存受到文件格式、壓縮比等的影響。但是項目中調用這張圖片資源時,佔用的顯存卻並不是44KB或者41.8KB。運行顯存包含解碼後每個像素點的數據。

計算顯存

顯存容量=顯示分辨率×顏色位數/8bit

注意這個公式的分辨率是顯示分辨率,而不是圖片分辨率

(圖片所佔顯存大小 = 圖片長度(像素) * 圖片寬度(像素) * 一個像素所佔內存空間(單位:字節) )

計算顯存時,分辨率取的不是圖片本身的分辨率,而是圖片本身分辨率向上取2^n之後的分辨率,因爲顯存紋理的寬和高都要是2次冪數

屬性詳情顯示位深(即顏色位數)爲24位,故一個像素佔用字節數爲24/8(一個字節佔用8位)=3,

2^4<170<2^5

2^4<153<2^5

 

所以圖片佔用顯存大小爲

2^5*2^5*3 = 192KB,遠大於文件本身的41.8KB,因此,在項目設計時,散圖資源如果在2^n附近時,儘量讓美術修改到小於等於2^n大小。對遊戲體驗影響較大,並且可以極大降低顯存,提升H5遊戲流暢度。

發佈了61 篇原創文章 · 獲贊 1 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章