Unity 優(yōu)化之25種在渲染中不能合批的原因

首先放出官方地址:https://github.com/Unity-Technologies/BatchBreakingCause

其中https://github.com/Unity-Technologies不得不說(shuō)真是一個(gè)寶庫(kù)航夺,里面有很多有趣的小玩應(yīng),熱愛(ài)新技術(shù)的小伙伴不妨有時(shí)間看一看


有說(shuō)錯(cuò)或者不準(zhǔn)確的地方歡迎留言指正


該項(xiàng)目演示了Unity在渲染時(shí)需要分批處理的不同情況囊蓝。最適用于Unity 5.6b4 +馏段,其中Frame Debugger窗口顯示Unity為什么不能進(jìn)行合批【真是神器】

Frame Debugger使用視頻教程

Frame Debugger所在位置


如找到對(duì)應(yīng)下列每一種出現(xiàn)不合批原因的解決辦法抛姑,歡迎給筆者留言柔吼,我也學(xué)習(xí)一下烫葬,非常感謝


25種原因如下

  1. Additional Vertex Streams — 對(duì)象使用MeshRenderer.additionalVertexStreams設(shè)定了額外的頂點(diǎn)信息流。

  2. Deferred Objects on Different Lighting Layers — 該物件位于另一不同的光照層中捡需。

  3. Deferred Objects Split by Shadow Distance — 兩個(gè)物體中有一個(gè)在陰影距離范圍內(nèi)而另一個(gè)不是。

  4. Different Combined Meshes — 該對(duì)象屬于另一個(gè)已合并的靜態(tài)網(wǎng)格筹淫。

  5. Different Custom Properties — 該對(duì)象設(shè)定了不同的MaterialProperyBlock站辉。

  6. Different Lights — 該物件受不同的前向光照(Forward Light)影響

  7. Different Materials — 該對(duì)象使用不同的材質(zhì)。

  8. Different Reflection Probes — 該對(duì)象受不同的反射探頭(Reflection Probe)影響损姜。

  9. Different Shadow Caster Hash — 該對(duì)象使用其他的陰影投射著色器饰剥,或是設(shè)定了不同的著色器參數(shù)/關(guān)鍵詞,而這些參數(shù)/關(guān)鍵詞會(huì)影響陰影投射Pass的輸出摧阅。

  10. Different Shadow Receiving Settings — 該對(duì)象設(shè)定了不同的“Receive Shadows”參數(shù)汰蓉,或是一些對(duì)象在陰影距離內(nèi),而另一些在距離之外棒卷。

  11. Different Static Batching Flags — 該對(duì)象使用不同的靜態(tài)批處理設(shè)定顾孽。

  12. Dynamic Batching Disabled to Avoid Z-Fighting — Player Settings中關(guān)閉了動(dòng)態(tài)批處理祝钢,或在當(dāng)前環(huán)境中為避免深度沖突而被臨時(shí)關(guān)閉。

  13. Instancing Different Geometries — 使用GPU Instancing渲染不同的網(wǎng)格或子網(wǎng)格若厚。

  14. Lightmapped Objects — 對(duì)象使用了不同的光照貼圖拦英,或在相同的光照貼圖中有不同的光照貼圖UV轉(zhuǎn)換關(guān)系。

  15. Lightprobe Affected Objects — 對(duì)象受其他光照探頭(Light Probe)影響测秸。

  16. Mixed Sided Mode Shadow Casters — 對(duì)象的“Cast Shadows”設(shè)定不同疤估。

  17. Multipass — 對(duì)象使用了帶多個(gè)Pass的著色器。

  18. Multiple Forward Lights — 該物件受多個(gè)前向光渲染影響霎冯。

  19. Non-instanceable Property Set — 為instanced著色器設(shè)定來(lái)non-instanced屬性铃拇。

  20. Odd Negative Scaling — 該對(duì)象的縮放為很奇怪的負(fù)值,例如(1,-1,1)沈撞。

  21. Shader Disables Batching — 著色器使用“DisableBatching”標(biāo)簽顯式關(guān)閉了批處理慷荔。

  22. Too Many Indices in Dynamic Batch — 動(dòng)態(tài)批處理索引過(guò)多(超過(guò)32k)。

  23. Too Many Indices in Static Batch — 靜態(tài)批處理中的組合網(wǎng)格索引過(guò)多关串。對(duì)于OpenGL ES來(lái)說(shuō)是48k拧廊,OSX是32k,其他平臺(tái)是64k晋修。

  24. Too Many Vertex Attributes for Dynamic Batching — 欲進(jìn)行動(dòng)態(tài)批處理的子網(wǎng)格擁有超過(guò)900個(gè)頂點(diǎn)屬性吧碾。

  25. Too Many Vertices for Dynamic Batching — 欲進(jìn)行動(dòng)態(tài)批處理的子網(wǎng)格頂點(diǎn)數(shù)量超過(guò)300個(gè)。


其中在項(xiàng)目中我遇到了第7種 Different Materials墓卦,原因是直接更改.material.color造成Instance Material倦春,解決辦法是使用 MaterialPropertyBlock.SetColor

MaterialPropertyBlock相關(guān)講解地址

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市落剪,隨后出現(xiàn)的幾起案子睁本,更是在濱河造成了極大的恐慌,老刑警劉巖忠怖,帶你破解...
    沈念sama閱讀 212,454評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件呢堰,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡凡泣,警方通過(guò)查閱死者的電腦和手機(jī)枉疼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)鞋拟,“玉大人骂维,你說(shuō)我怎么就攤上這事『馗伲” “怎么了航闺?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,921評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我潦刃,道長(zhǎng)侮措,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,648評(píng)論 1 284
  • 正文 為了忘掉前任福铅,我火速辦了婚禮萝毛,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘滑黔。我一直安慰自己笆包,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,770評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布略荡。 她就那樣靜靜地躺著庵佣,像睡著了一般。 火紅的嫁衣襯著肌膚如雪汛兜。 梳的紋絲不亂的頭發(fā)上巴粪,一...
    開(kāi)封第一講書(shū)人閱讀 49,950評(píng)論 1 291
  • 那天,我揣著相機(jī)與錄音粥谬,去河邊找鬼肛根。 笑死,一個(gè)胖子當(dāng)著我的面吹牛漏策,可吹牛的內(nèi)容都是我干的派哲。 我是一名探鬼主播,決...
    沈念sama閱讀 39,090評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼掺喻,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼芭届!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起感耙,我...
    開(kāi)封第一講書(shū)人閱讀 37,817評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤褂乍,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后即硼,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體逃片,經(jīng)...
    沈念sama閱讀 44,275評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,592評(píng)論 2 327
  • 正文 我和宋清朗相戀三年只酥,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了褥实。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片殿如。...
    茶點(diǎn)故事閱讀 38,724評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖旅急,靈堂內(nèi)的尸體忽然破棺而出是辕,到底是詐尸還是另有隱情,我是刑警寧澤拗窃,帶...
    沈念sama閱讀 34,409評(píng)論 4 333
  • 正文 年R本政府宣布,位于F島的核電站枷畏,受9級(jí)特大地震影響瓮增,放射性物質(zhì)發(fā)生泄漏怎棱。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,052評(píng)論 3 316
  • 文/蒙蒙 一绷跑、第九天 我趴在偏房一處隱蔽的房頂上張望拳恋。 院中可真熱鬧,春花似錦砸捏、人聲如沸谬运。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,815評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)梆暖。三九已至,卻和暖如春掂骏,著一層夾襖步出監(jiān)牢的瞬間轰驳,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,043評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工弟灼, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留级解,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,503評(píng)論 2 361
  • 正文 我出身青樓田绑,卻偏偏與公主長(zhǎng)得像勤哗,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子辛馆,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,627評(píng)論 2 350

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