【Unity】貼圖壓縮淺析

寫在前面

素材也是擠壓了很久级历,之前在編寫框架是選擇使用texture packer打圖集還是直接使用unity自帶Packing Tag。當(dāng)然我們使用的是ugui岩灭,最后還是選擇unity自帶圖集打包囱晴,在寫圖片集合工具看到圖片導(dǎo)入的壓縮格式性湿。就看了看貼圖壓縮。

基礎(chǔ)

簡(jiǎn)單說說Texture
在unity中所有的圖片都會(huì)以叫Texture的文件呈現(xiàn)出來襟衰,unity只是把所有的圖片格式轉(zhuǎn)化為Texture來使用贴铜。

Texture預(yù)覽圖

這里顯示2.7m并不是圖片本身的大小,而是讀到內(nèi)存中所占用的大小瀑晒。

為什么要壓縮圖片绍坝?
最直觀的感受就是減少包體,同時(shí)也減少我們加載一張圖片到內(nèi)存中的消耗及加載速度苔悦。

壓縮方式
我們可以在這個(gè)界面看到圖片的一些壓縮方式轩褐。我們一般都是選擇的默認(rèn)壓縮在IOS上用的RGBAPVRTC4,在Android上是RGBAETC2的格式间坐。當(dāng)然如果我們需要高質(zhì)量的顯示效果的話我們就選擇RGBA32既可以灾挨。簡(jiǎn)單說說幾個(gè)我認(rèn)為比較常用的格式。其實(shí)壓縮也就是把圖片轉(zhuǎn)成2進(jìn)制換一個(gè)方式存儲(chǔ)嘛竹宋。

壓縮格式 描述 大欣统巍( 256x256貼圖) 平臺(tái)支持
RGB16 不帶透明通道壓縮,對(duì)漸變類圖支持不好 128KB 所有
RGB24 不帶透明通道蜈七,無壓縮 192KB 所有
RGBA16 帶透明通道秒拔,對(duì)漸變類圖支持不好 128KB 所有
RGBA32 帶透明通道,無壓縮 256KB 所有
RGBA PVRTC 4 在蘋果手機(jī)上默認(rèn)使用的壓縮格式飒硅,需要邊長(zhǎng)是2次方大小 32KB 蘋果
RGBA ETC2 在安卓上默認(rèn)使用的壓縮格式砂缩,帶透明通道作谚,需要邊長(zhǎng)是2次方大小 64KB 安卓
RGB ETC2 在安卓手機(jī)上默認(rèn)使用的壓縮格式,不帶透明通道庵芭,需要邊長(zhǎng)是2次方大小 32KB 安卓

這里需要邊長(zhǎng)是2次方大小的文件邊長(zhǎng)如果不是妹懒,則會(huì)對(duì)內(nèi)存及GUP造成更大的負(fù)擔(dān)。這里話我們就看圖片是否有透明双吆,沒有的話我們盡量使用RGB類的來壓縮眨唬,
然后就根據(jù)我們的項(xiàng)目情況對(duì)一些圖片做出特定的重新壓縮。暫且寫這么多吧好乐。

2019.3.21更新

2019.3.22更新

關(guān)于圖集設(shè)置:
Q:道具圖標(biāo)可能有幾百上千個(gè)匾竿,如果打到同一圖集里,大小都有2048P蔚万,實(shí)際游戲過程中有額外的內(nèi)存浪費(fèi)岭妖。

按類型拆分也不太好,新手各類道具各一個(gè)反璃,所有類型的圖集就都引用了一遍昵慌,跟打到一個(gè)里沒太大區(qū)別。
如果按等級(jí)段來規(guī)劃版扩,可能會(huì)好一點(diǎn)废离,但是對(duì)于像商城或者某些特定UI上展示的圖標(biāo),很可能就不是同一個(gè)等級(jí)段的礁芦,也會(huì)造成引用好多個(gè)圖集的情況蜻韭。如果按常用或者不常用來分圖集,得要策劃全程來跟進(jìn)這塊內(nèi)容柿扣,感覺也很容易出問題肖方。
或者直接對(duì)這大量的圖標(biāo)都不打到圖集,都是散圖未状,這樣雖然不會(huì)有太多內(nèi)存浪費(fèi)俯画,但渲染效率就低了。

請(qǐng)問下有沒有比較好的方案來處理這個(gè)問題司草?

A:1艰垂、如果圖量遠(yuǎn)超單屏顯示量,那比較實(shí)際的是自己實(shí)現(xiàn)動(dòng)態(tài)圖集埋虹,也就是圖標(biāo)是散圖猜憎,在運(yùn)行過程中根據(jù)需求實(shí)時(shí)拼裝成大圖,可以用Render to Texture實(shí)現(xiàn)搔课。
2胰柑、對(duì)于大多數(shù)游戲,如果不是常駐畫面的界面,以現(xiàn)在機(jī)器的性能柬讨,忍受一下DrawCall也非不可崩瓤。

2019.7.22更新

Android 又有一個(gè)更好的選擇:RGBA Crunched ETC2


看這里的說明,雖然是有損壓縮踩官,但是讀取是分開讀取却桶,現(xiàn)在CPU解壓在給GPU,壓縮力度非常大蔗牡,但是在解壓時(shí)也很快肾扰。

參考資料:
https://docs.unity3d.com/Manual/class-TextureImporterOverride.html
https://blog.csdn.net/bobodan123/article/details/70316538
https://blog.csdn.net/swj524152416/article/details/54911103

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市蛋逾,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌窗悯,老刑警劉巖区匣,帶你破解...
    沈念sama閱讀 211,194評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異蒋院,居然都是意外死亡亏钩,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門欺旧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來姑丑,“玉大人,你說我怎么就攤上這事辞友≌ぐВ” “怎么了?”我有些...
    開封第一講書人閱讀 156,780評(píng)論 0 346
  • 文/不壞的土叔 我叫張陵称龙,是天一觀的道長(zhǎng)留拾。 經(jīng)常有香客問我,道長(zhǎng)鲫尊,這世上最難降的妖魔是什么痴柔? 我笑而不...
    開封第一講書人閱讀 56,388評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮疫向,結(jié)果婚禮上咳蔚,老公的妹妹穿的比我還像新娘。我一直安慰自己搔驼,他們只是感情好谈火,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,430評(píng)論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著匙奴,像睡著了一般堆巧。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,764評(píng)論 1 290
  • 那天谍肤,我揣著相機(jī)與錄音啦租,去河邊找鬼。 笑死荒揣,一個(gè)胖子當(dāng)著我的面吹牛篷角,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播系任,決...
    沈念sama閱讀 38,907評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼恳蹲,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了俩滥?” 一聲冷哼從身側(cè)響起嘉蕾,我...
    開封第一講書人閱讀 37,679評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎霜旧,沒想到半個(gè)月后错忱,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,122評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡挂据,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,459評(píng)論 2 325
  • 正文 我和宋清朗相戀三年以清,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片崎逃。...
    茶點(diǎn)故事閱讀 38,605評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡掷倔,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出个绍,到底是詐尸還是另有隱情勒葱,我是刑警寧澤,帶...
    沈念sama閱讀 34,270評(píng)論 4 329
  • 正文 年R本政府宣布障贸,位于F島的核電站错森,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏篮洁。R本人自食惡果不足惜涩维,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,867評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望袁波。 院中可真熱鬧瓦阐,春花似錦、人聲如沸篷牌。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽枷颊。三九已至戳杀,卻和暖如春该面,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背信卡。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評(píng)論 1 265
  • 我被黑心中介騙來泰國(guó)打工隔缀, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人傍菇。 一個(gè)月前我還...
    沈念sama閱讀 46,297評(píng)論 2 360
  • 正文 我出身青樓猾瘸,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親丢习。 傳聞我的和親對(duì)象是個(gè)殘疾皇子牵触,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,472評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,745評(píng)論 25 707
  • 用兩張圖告訴你,為什么你的 App 會(huì)卡頓? - Android - 掘金 Cover 有什么料咐低? 從這篇文章中你...
    hw1212閱讀 12,699評(píng)論 2 59
  • 細(xì)雨綿綿秋換冬揽思,寒風(fēng)不敵迎客松。 傲骨錚錚終不倒见擦,歷經(jīng)風(fēng)雨笑春風(fēng)绰更。
    姑蘇演閱讀 251評(píng)論 0 0