日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

u3d性能优化

發(fā)布時(shí)間:2023/12/20 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 u3d性能优化 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

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

?

1、如果是開發(fā)2D游戲,盡可能的把圖集做得不超過1024,最好是512,如果不斷的把圖集做成2048的話,會一直把內(nèi)存撐爆,因?yàn)榉彩羌虞d其中一個(gè)圖片,便會把整個(gè)2048的圖集都加載進(jìn)去了,除非這個(gè)是公共的圖集,在哪個(gè)場景都會頻繁用到,否則不應(yīng)該把圖集弄太太大。

?

2、盡量不要一下子把所有的場景元素加載到場景中,凡是分開出現(xiàn)的應(yīng)該從Resource.Load來進(jìn)行加載,然后在不用的時(shí)候通過unLoad來進(jìn)行清除資源。也就是說像太多對話框之類的不要一開始隱藏在場景中,而是要把它在固定的時(shí)候去加載它。

?

?減少運(yùn)算壓力而不減少內(nèi)存大小:

關(guān)于gameObject上掛載的腳本的激活狀態(tài)區(qū)別,無論是激活狀態(tài)還是未激活的狀態(tài),此gameObject上始終會消耗內(nèi)存來保有當(dāng)前的狀態(tài),但非激活狀態(tài)可以減少運(yùn)算壓力,使得u3d再也不會對此物件再發(fā)送Update, Start等u3d的特有事件,但是,如果此類有靜態(tài)方法的存在,依舊還是能夠正常執(zhí)行。

?

減少運(yùn)算壓力:

1、把盡可能多的靜態(tài)物體勾上靜態(tài)的屬性,從而減少CPU運(yùn)算壓力,

2、減少固定更新的時(shí)候,FixUpdate,還有一些不需要那么實(shí)時(shí)計(jì)算的檢查可以用個(gè)條件判斷,滿i > 5 才檢查一次,這也是比較簡單的降低消耗的措施。

3、以非壓縮格式代替壓縮格式,圖片上,png一般來說都是比jpg好的在ios平臺,但是png相對比較大一點(diǎn),所以jpg可以做成背景圖,動態(tài)圖片最好用png,聲音也是wav這種非壓縮格式處理起來比mp3處理起來是快些,但是wav會增加容量,事實(shí)上邇總會在容量和性能之間找個(gè)平衡點(diǎn)。

?

4、減少Draw Call,這基本上是個(gè)邇隨便google一下就能發(fā)現(xiàn)的性能問題,但事實(shí)上華麗復(fù)雜的畫面往往是要求更多的draw call的,邇可以用個(gè)預(yù)先做好的效果圖直接扔上去渲染,但這樣又缺乏了靈活性,造成了容量的增加,總之性能,效果,容量總是在互相制約著,邇還是得需要按實(shí)際情況決定到底是優(yōu)先處理哪個(gè)好,但在苛刻的情況下,容量和效果不能增加的情況下提升代碼質(zhì)量來提升性能也是可以的,不過提升代碼質(zhì)量要更高的技術(shù)和時(shí)間,這又是另外一個(gè)實(shí)時(shí)的問題了,效率!所以倒回頭,又是個(gè)領(lǐng)導(dǎo)的策略性問題了,到底是慢工做細(xì)活還是要搶先市場,這又是實(shí)際情況所決定了,解決辦法是有N種的,到頭來,還是得看邇自己來把握。

?

5、SendMessage是狠方便,但動態(tài)意味著更多的負(fù)擔(dān),而且由于發(fā)送消息無視類,所以可能會產(chǎn)生發(fā)多了去其它類的情況造成難以察覺的BUG,但其實(shí)發(fā)送消息又是個(gè)非常方便的工具,所以看邇怎么來取舍了。

?

如果把一個(gè)MonoBehavir的類的某些方法定義成了一個(gè)靜態(tài)類,記得靜態(tài)方法不要引用gameObject和transform等屬性,因?yàn)檫@些屬性僅僅存在于當(dāng)前的場景中,假若上一個(gè)場景已經(jīng)運(yùn)用了這些類,那么到下一個(gè)場景后,這些變量便會隨著gameObject的摧毀而消失。

?

剩下的基本上是老生常談了,減少過多材質(zhì)的運(yùn)用,shader的運(yùn)用,過多了模型頂點(diǎn),動態(tài)燈光的運(yùn)用,改成烘焙的。其實(shí)這里性能的優(yōu)化多數(shù)下是與游戲容量成正比的,也就是說光邇的游戲容量可以越大的時(shí)候,性能就要求越低,這就是說預(yù)計(jì)算代替了即時(shí)演算,當(dāng)然現(xiàn)實(shí)是游戲容量最好狠少,配置最好越低,開發(fā)難點(diǎn)總是與需求相背離的。

?

?

結(jié)語:性能優(yōu)化不建議開始就弄,特別對于手游業(yè)的高動態(tài)性,需求經(jīng)常變,可能邇這個(gè)功能下個(gè)月就不需要了,所以不要浪費(fèi)時(shí)間去做些無意義的事情,所以我們總要記得一件事,游戲是要來盈利的,我們應(yīng)該要讓玩家能容忍的情況下用最省時(shí)省力的方式做出真正盈利性的游戲,這才是性能優(yōu)化的主旨。

?

這里有更多關(guān)于u3d內(nèi)存管理的文章:http://www.unity manual.com/thread-906-1-1.html

?

U3D官網(wǎng)關(guān)于性能優(yōu)化的說明:http://docs.unity3d.com/Documentation/Manual/OptimizingGraphicsPerformance.html

?

U3D WIKI關(guān)于性能優(yōu)化的說明:http://wiki.unity3d.com/index.php?title=General_Performance_Tips

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結(jié)

以上是生活随笔為你收集整理的u3d性能优化的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。