淺談Unity的UI的渲染速率和內(nèi)存的優(yōu)化

渲染速率優(yōu)化

?說道UI的優(yōu)化肯定要說到 Drawcall绑莺,但其實Drawcall的優(yōu)化也有很多的注意事項。

Drawcall注意事項

1 unity的Drawcall受畫布惕耕,Pannel 纺裁,在NGUI中也會受UIwidge的depth的影響,也就是說在不同的畫布司澎,pannel等下欺缘,兩個圖片即使是相同的圖集,也會有兩個Drawcall挤安,

2? 應(yīng)為unity的繪制機(jī)制是浪南,從history中從上到下依次遍歷,取材質(zhì)相同沒有中間層的放到一次draw call中漱受,所以當(dāng)兩張圖片的材質(zhì)不同的時候,和有中間層的時候會額外消耗一次drawcall(中間層”是具有不同材料的圖形對象,其邊界框與兩個其他可混合對象重疊昂羡,并且放置在兩個可混合對象之間的層次結(jié)構(gòu)中絮记。中間層迫使批次被破壞),所以盡量少使用組合的圖片虐先,這樣浪費多輛的Drawcall怨愤。

3??Drawcall也會受Y軸的影響(在上面都一樣的情況下,在兩個相同圖集的圖片中仿佛Y軸不同的圖片蛹批,也會增加一個Drawcall)撰洗,但是NGUI并不會,(只受UIwidge的depth)腐芍。

4 圖集的圖片也并不是越多越好差导,使用圖集是為了減少向GPU傳遞的次數(shù),因為每一次傳遞給GPU的耗時都會很長猪勇。但是如果一個超大的圖集设褐,呢么就會造成通往GPU的通道阻塞,反而會降低速率泣刹。

填充率優(yōu)化

1? 如果想使用圖片隱藏不要把a(bǔ)lpha設(shè)置為0助析,這樣不會減少draw call,只有把gameobjct失活或者image失活才行椅您。

2 有全屏的UI功能出現(xiàn)時外冀,最好把被遮擋的UI界面隱藏掉,畢竟攝像機(jī)無論看不看得到掀泳,都會渲染到界面中雪隧。

3 禁用一些無用的攝像機(jī),同樣時出現(xiàn)全屏的UI時开伏,把一些無用的攝像機(jī)禁用膀跌,因為只要攝像機(jī)拍到的,就會渲染固灵,消耗Unity的性能捅伤。

4 unity重建,重建的過程是將畫布的所有圖片的布局和mesh(大小巫玻,縮放)重新計算一邊丛忆。當(dāng)畫布變臟的時候,unity就會將整個畫布重建(變臟是指影響UI對象外觀的任何更改仍秤,包括分配給精靈渲染器的精靈熄诡,變換位置和比例,文本網(wǎng)格中包含的文本等)诗力,所以當(dāng)一個畫布擁有大量的UI元素的時候凰浮,每當(dāng)有任意一個元素改變就會進(jìn)行大量的計算,很是浪費性能。所以盡量一個功能一個畫布袜茧。

5? untiy的點擊事件點擊的時候菜拓,是遍歷具有或者是任何ICanvasRaycastFilter組件的子級(在任何深度),并且該Raycast Filter組件允許Raycast(意思是 在場景中所有具有Raycast的組件笛厦,都會遍歷纳鼎,在一些需要大地圖地塊的游戲中,將會是一個致命消耗)裳凸。??實現(xiàn)一個組件贱鄙,在組件創(chuàng)建時Raycast默認(rèn)改為false。

內(nèi)存優(yōu)化

1 使用unity自帶的sliced姨谷,Tiled逗宁,filled功能,將圖片進(jìn)行變化成自己需要的圖形菠秒。例如 背包的格子都是重復(fù)的疙剑,這時候完全可以用一個格子圖片代替,然后使用tiled擴(kuò)大重復(fù)就行了践叠。(原則是美術(shù)盡量少給圖言缤,每一張圖片都能有多重用途)

2 iOS平臺使用PVRT壓縮紋理,Adroid平臺使用ETC1格式壓縮禁灼。均可以減少3/4的內(nèi)存管挟。優(yōu)化效果很明顯。(ETC1值能支持非Alpha通道弄捕,所以一般先把Alpha通道圖分離出來僻孝,當(dāng)繪制時a值從Alpha圖獲取,而ETC2不需要守谓,但是支持的機(jī)型較少穿铆。)

3 minmap的原理是創(chuàng)造出適合不同距離的圖片,開啟minmap會很占內(nèi)存斋荞,所以在UI上面就不要使用荞雏,minmap這個功能。

4 手動控制GC的釋放平酿,減少因為GC一次釋放過多而造成的卡頓(可以每半分鐘一次)凤优。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市蜈彼,隨后出現(xiàn)的幾起案子筑辨,更是在濱河造成了極大的恐慌,老刑警劉巖幸逆,帶你破解...
    沈念sama閱讀 218,451評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件棍辕,死亡現(xiàn)場離奇詭異暮现,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)痢毒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評論 3 394
  • 文/潘曉璐 我一進(jìn)店門送矩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人哪替,你說我怎么就攤上這事」交常” “怎么了凭舶?”我有些...
    開封第一講書人閱讀 164,782評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長爱沟。 經(jīng)常有香客問我帅霜,道長,這世上最難降的妖魔是什么呼伸? 我笑而不...
    開封第一講書人閱讀 58,709評論 1 294
  • 正文 為了忘掉前任身冀,我火速辦了婚禮,結(jié)果婚禮上括享,老公的妹妹穿的比我還像新娘搂根。我一直安慰自己,他們只是感情好铃辖,可當(dāng)我...
    茶點故事閱讀 67,733評論 6 392
  • 文/花漫 我一把揭開白布剩愧。 她就那樣靜靜地躺著,像睡著了一般娇斩。 火紅的嫁衣襯著肌膚如雪仁卷。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,578評論 1 305
  • 那天犬第,我揣著相機(jī)與錄音锦积,去河邊找鬼。 笑死歉嗓,一個胖子當(dāng)著我的面吹牛丰介,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播遥椿,決...
    沈念sama閱讀 40,320評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼基矮,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了冠场?” 一聲冷哼從身側(cè)響起家浇,我...
    開封第一講書人閱讀 39,241評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎碴裙,沒想到半個月后钢悲,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體点额,經(jīng)...
    沈念sama閱讀 45,686評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,878評論 3 336
  • 正文 我和宋清朗相戀三年莺琳,在試婚紗的時候發(fā)現(xiàn)自己被綠了还棱。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,992評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡惭等,死狀恐怖珍手,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情辞做,我是刑警寧澤琳要,帶...
    沈念sama閱讀 35,715評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站秤茅,受9級特大地震影響稚补,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜框喳,卻給世界環(huán)境...
    茶點故事閱讀 41,336評論 3 330
  • 文/蒙蒙 一课幕、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧五垮,春花似錦乍惊、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至匙监,卻和暖如春凡橱,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背亭姥。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評論 1 270
  • 我被黑心中介騙來泰國打工稼钩, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人达罗。 一個月前我還...
    沈念sama閱讀 48,173評論 3 370
  • 正文 我出身青樓坝撑,卻偏偏與公主長得像,于是被迫代替她去往敵國和親粮揉。 傳聞我的和親對象是個殘疾皇子巡李,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,947評論 2 355

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