場景優(yōu)化的學習

最近要做一個VR一體機(可以當做一部安卓機)的項目针姿,但是場景資源導入后發(fā)現(xiàn)在一體機上跑不動纽疟,幀率只有20左右,快速轉動頭部的時候幀率更低扔仓,所以學習了一下場景優(yōu)化的知識,下面就分享一下我學到的知識咖耘。

一、降低DrawCall的數(shù)量

DrawCall(又稱DC)撬码,在Unity中儿倒,每次引擎(CPU)準備數(shù)據(jù)并通知GPU的過程稱為一次Draw Call,GPU通過這些數(shù)據(jù)進行運算再把目標渲染出來呜笑。這一過程是逐個物體進行的夫否,對于每個物體,不止GPU的渲染叫胁,引擎重新設置材質/Shader也是一項非常耗時的操作凰慈。因此每幀的Draw Call次數(shù)是一項非常重要的性能指標,而降低DC就能很好的優(yōu)化我們的場景資源驼鹅。下面從幾個方面降低DC:

1微谓、降低渲染對象的數(shù)量——Occlusion Culling

這個很顯然,只要場景中需要渲染的目標數(shù)量減少了输钩,相應的DC也就隨之降低豺型。而做到這一步我們可以使用Unity自帶的遮擋剔除功能——Occlusion Culling。該功能使unity只渲染相機可見(被擋到的也不會渲染)視野范圍內的物體买乃,視野外的物體不渲染姻氨。詳細可自行學習:http://bbs.9ria.com/thread-216913-1-1.html
http://blog.csdn.net/cartzhang/article/details/52684127。務必記得把靜態(tài)物體勾選上靜態(tài)剪验。

2肴焊、降低每個要渲染對象的渲染次數(shù)——LightMap

實時的燈光渲染會很消耗性能,所以我們可以為那些靜態(tài)不動的物體預先烘焙好貼圖來代替實時光照計算功戚,這樣就降低了DC娶眷,5.6版本后對全局光照系統(tǒng)做了很好的更新,感興趣可以學習一下:http://gad.qq.com/program/translateview/7187820疫铜。烘焙LightMap的時候記得一定把靜態(tài)的物體勾選上LightMap Static茂浮,,所有靜態(tài)選項都勾選也可以:

Paste_Image.png

3壳咕、批處理——Batching

批處理的意思就是處理多個物體席揽,以此減少DC,批處理分為兩種:靜態(tài)批處理和動態(tài)批處理谓厘。這里只詳細介紹一下靜態(tài)批處理幌羞,因為動態(tài)批處理我沒用到,所以怕理解有誤竟稳,詳細可閱讀:http://blog.csdn.net/qinyuanpei/article/details/48262583属桦。
靜態(tài)批處理的前提條件:物體是靜態(tài)不能移動的熊痴,擁有同一種材質的,記得勾選靜態(tài):

Paste_Image.png

再說一下Batches這個東西:
Paste_Image.png

上面的小窗口視圖是在Game視圖的右上角點開的聂宾。
其中Batches——合并后的DrawCall次數(shù)果善。
SetPass calls——SetPass的調用次數(shù)。
Saved by batching——被合并的DrawCall次數(shù)系谐。
Batches就是你要看到的DrawCall巾陕。 減少了Batches就是減少了DC。

然后我們建個空場景纪他,里面放上兩個不同材質的物體:一個圓柱體和一個方塊鄙煤。如圖:


Paste_Image.png
Paste_Image.png
Paste_Image.png

當沒有勾選靜態(tài),沒做任何處理時茶袒,batches為13梯刚,saved by batching為0,而圖中圓柱體和方塊的材質用的shader是同一種薪寓,只是圖片和顏色不同亡资。下面我們把它們材質中的圖片都干掉,值保留不一樣的顏色向叉,如圖:

Paste_Image.png

此時Batches變成了10沟于,而Saved by batching變成了3。
然后我們再進行靜態(tài)批處理:把靜態(tài)勾選上植康,給兩個物體換上同一種材質(注意旷太,是同一種材質,不只是同一種shader或圖片销睁,上面測試的就是同一種shader不同顏色)供璧,


Paste_Image.png

這時候靜態(tài)批處理就完成了,我們可以看到Batches已經(jīng)變成了8冻记,我們再在場景中多加幾個物體看看效果如何:


Paste_Image.png

Batches還是8睡毒,這樣就達到了我們優(yōu)化DC的目的。但是靜態(tài)批處理也有不好的地方:會占用更多的內存冗栗,所以如何靈活運用要根據(jù)相應的項目需求了演顾。
我在查找資料的時候有看到說靜態(tài)批處理和遮擋剔除有沖突,說因為靜態(tài)批處理時相機只要看到物體的一個像素點就會把整個物體渲染出來隅居,而遮擋剔除此時只會渲染看到的像素點钠至,不會渲染那些不可見的。但是我沒有深入研究胎源,感興趣的老鐵可以研究一下棉钧。
4、特效的優(yōu)化

直接附上鏈接涕蚤,https://blog.csdn.net/github_32062421/article/details/49203501宪卿,這個優(yōu)化在移動端項目中很重要的诵,我的項目中就有很多特效,優(yōu)化過后幀率提高了也穩(wěn)定了很多佑钾。

5西疤、LOD技術

直接上鏈接,http://blog.csdn.net/yuxikuo_1/article/details/48795325休溶,這個我的項目中沒用到瘪阁,但是以后可能會在其它項目中用到,很好用的組件

6邮偎、地形的Draw

unity有自帶的地形組件,但是不提倡使用义黎,建議讓模型美術那邊做一個地形的模型禾进,因為unity的地形組件真的耗性能:


Paste_Image.png
Paste_Image.png

雖然不勾選地形的細節(jié)渲染可以降低了很多Batches,但是一般移動端的Batches不超過100為好廉涕,一個空地形就占了將近70(一個天空盒也會占2個batches)泻云,所以移動端不推薦使用unity自帶的地形組件。

二狐蜕、腳本優(yōu)化

腳本優(yōu)化宠纯,附上鏈接http://blog.csdn.net/u014779452/article/details/48395921
http://blog.csdn.net/sw521314/article/details/75333025层释,
還要合理利用對象池婆瓜。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市贡羔,隨后出現(xiàn)的幾起案子廉白,更是在濱河造成了極大的恐慌,老刑警劉巖乖寒,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件猴蹂,死亡現(xiàn)場離奇詭異,居然都是意外死亡楣嘁,警方通過查閱死者的電腦和手機磅轻,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來逐虚,“玉大人聋溜,你說我怎么就攤上這事“劝” “怎么了勤婚?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長涤伐。 經(jīng)常有香客問我馒胆,道長缨称,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任祝迂,我火速辦了婚禮睦尽,結果婚禮上,老公的妹妹穿的比我還像新娘型雳。我一直安慰自己当凡,他們只是感情好,可當我...
    茶點故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布纠俭。 她就那樣靜靜地躺著沿量,像睡著了一般。 火紅的嫁衣襯著肌膚如雪冤荆。 梳的紋絲不亂的頭發(fā)上朴则,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天,我揣著相機與錄音钓简,去河邊找鬼乌妒。 笑死,一個胖子當著我的面吹牛外邓,可吹牛的內容都是我干的撤蚊。 我是一名探鬼主播,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼损话,長吁一口氣:“原來是場噩夢啊……” “哼侦啸!你這毒婦竟也來了?” 一聲冷哼從身側響起丧枪,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤匹中,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后豪诲,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體顶捷,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年屎篱,在試婚紗的時候發(fā)現(xiàn)自己被綠了服赎。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡交播,死狀恐怖重虑,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情秦士,我是刑警寧澤缺厉,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響提针,放射性物質發(fā)生泄漏命爬。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一辐脖、第九天 我趴在偏房一處隱蔽的房頂上張望饲宛。 院中可真熱鬧,春花似錦嗜价、人聲如沸艇抠。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽家淤。三九已至,卻和暖如春瑟由,著一層夾襖步出監(jiān)牢的瞬間絮重,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工错妖, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人疚沐。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓暂氯,卻偏偏與公主長得像,于是被迫代替她去往敵國和親亮蛔。 傳聞我的和親對象是個殘疾皇子痴施,可洞房花燭夜當晚...
    茶點故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內容