您現(xiàn)在所在的位置:首頁 >關(guān)于奇酷 > 行業(yè)動態(tài) > Unity3D培訓(xùn):MMORPG游戲優(yōu)化經(jīng)驗(yàn)分享(三)

Unity3D培訓(xùn):MMORPG游戲優(yōu)化經(jīng)驗(yàn)分享(三)

來源:奇酷教育 發(fā)表于:

奇酷教育-unity3D培訓(xùn)_unity3D游戲_unity3D教程

  Unity3D培訓(xùn):MMORPG游戲優(yōu)化經(jīng)驗(yàn)分享(三),在優(yōu)化Unity游戲時,我們一般從四個方面:CPU、GPU、內(nèi)存、工程配置等入手,它們都可能是影響游戲性能瓶頸的關(guān)鍵。
  unity3D教程:內(nèi)存
  每一個Mesh的壓縮選項(xiàng)、Read/Write選項(xiàng)都要根據(jù)Mesh使用方式進(jìn)行單獨(dú)設(shè)置,同時要做好當(dāng)Mesh存在雙份數(shù)據(jù)時,CPU端數(shù)據(jù)的及時釋放。合理的減面也是必不可少的。
  壓縮紋理的使用是毋庸置疑,而壓縮格式要根據(jù)項(xiàng)目的機(jī)型適配靈活選擇,保證質(zhì)量和體積都能滿足需要。當(dāng)編輯器中刷地形紋理時,需要紋理開啟Read/Write,而在打包時要關(guān)閉這個選項(xiàng)。
  每個紋理的尺寸要根據(jù)它的用途、實(shí)際測試時內(nèi)存占用的情況,進(jìn)行合理的限制,不能隨意設(shè)定它。對于圖集需要最大限度利用面積,避免浪費(fèi)寶貴的內(nèi)存。另外當(dāng)紋理使用ETC2、ASTC格式時,在不支持這些格式的設(shè)備上,壓縮紋理會被fallback為無壓縮的RGBA格式,不但增大了內(nèi)存占用,同時增加了fallback的CPU開銷。
  AnimationClip可以通過壓縮浮點(diǎn)數(shù)精度,剔除無用的scale曲線降低內(nèi)存占用。同時AnimationClip加載策略也對內(nèi)存占用有很大影響,全部預(yù)加載還是按需異步加載,需要根據(jù)項(xiàng)目實(shí)際情況決定。
  Mono進(jìn)行內(nèi)存分配時,在不同類型的數(shù)據(jù)對象在內(nèi)存中是相鄰的存在內(nèi)存塊里,如果說釋放了一個數(shù)組,它所占的內(nèi)存被釋放了。但是這個區(qū)域是不會還給系統(tǒng)內(nèi)存,依然保留著。接著又創(chuàng)建了新的對象,新對象的內(nèi)存大小比剛才被釋放的空間大,就無法直接放入這個空間,只能由Mono申請一份新的內(nèi)存來存放。當(dāng)Mono申請新內(nèi)存時,Mono堆內(nèi)存一般會擴(kuò)大很大一部分,如見下圖05所示。
Unity3D培訓(xùn):MMORPG游戲優(yōu)化經(jīng)驗(yàn)分享(三)
  在使用數(shù)組類型的對象時,如果初始化時時非定長數(shù)組,數(shù)組實(shí)際容量會根據(jù)Add操作以0、4、8、16、32倍逐步擴(kuò)大,其中大量空間為Null,浪費(fèi)了內(nèi)存。這種情況常出現(xiàn)在客戶端初始化數(shù)據(jù)表保存到List、Dictionary時。
  當(dāng)我們需要手動釋放一些對象的內(nèi)存時,會有很多種方式,Unity提供了很多卸載各種資源的函數(shù)。主動調(diào)GC.collect是不必要的,如果一個對象的引用不是Null時,是不可能釋放它的。GC只需要做好對象引用的清理就可以,剩下的還是由GC機(jī)制自動管理更好。我們可以通過自定義內(nèi)存池和資源管理器,來很精細(xì)的控制每一種資源的生命周期。
  AssetBundle壓縮格式一般使用LZ4,但要注意AssetBundle的合理Unload時機(jī)。而LZMA格式,由于存在加載時解壓后重壓縮為LZ4的開銷,一般情況下不建議使用。主Bundle卸載時,與它關(guān)聯(lián)的依賴Bundle一定要根據(jù)引用計(jì)數(shù)來控制是否可以卸載,否則依賴Bundle的Asset容易引發(fā)內(nèi)存泄露。
  IL2CPP在安卓系統(tǒng)使用時,要注意libil2coo.so的文件大小。在安卓系統(tǒng)中,so會在游戲啟動后直接加載在內(nèi)存中,它的內(nèi)存占用大小基本上和文件大小差不多。所以so的尺寸要有所控制,否則會影響整個游戲的內(nèi)存數(shù)值。所以,使用il2cpp時要注意值類型的泛型、重復(fù)代碼等容易增大il2cpp的cpp代碼體積的情況。
  以上就是奇酷為大家分享的“Unity3D培訓(xùn):MMORPG游戲優(yōu)化經(jīng)驗(yàn)分享(三)”謝謝大家觀看,如果對unity3D感興趣的話,想學(xué)unity3D培訓(xùn)的,也可以在線咨詢,我們將竭誠為你解答。
主站蜘蛛池模板: 伊人久久大香线焦综合四虎| 99精品国产综合久久久久五月天| 国产综合欧美| 久久久久久久尹人综合网亚洲 | 色综合久久综合中文综合网| 婷婷丁香五月天综合东京热| 色综合视频一区二区三区| 亚洲伊人久久成综合人影院| 色狠狠色狠狠综合天天| 亚洲国产综合91精品麻豆| 亚洲综合欧美精品一区二区| 欧美日韩国产色综合一二三四| 97se亚洲国产综合自在线| 色与欲影视天天看综合网| 日韩欧美Aⅴ综合网站发布| 狠狠色狠狠色综合日日不卡 | 99精品国产综合久久久久五月天| 国产精品国产欧美综合一区| 99久久国产综合精品成人影院| 久久久久久久尹人综合网亚洲| 久久久久亚洲AV综合波多野结衣| 日韩欧美综合| 国产在线五月综合婷婷| 亚洲综合色区在线观看| 国产亚洲综合成人91精品 | 亚洲精品第一国产综合境外资源 | 狠狠色婷婷狠狠狠亚洲综合 | 午夜激情影院综合| 久久综合给合久久狠狠狠97色69| 色综合久久中文色婷婷| 亚洲欧美日韩综合一区二区 | 人人狠狠综合久久亚洲88| 久久婷婷午色综合夜啪 | 亚洲国产欧洲综合997久久| 国产综合久久久久| 亚洲人成伊人成综合网久久久| 狠狠色综合网站久久久久久久高清| 亚洲精品国产综合久久一线| 亚洲小说图区综合在线| 日本一道综合色视频| 日日狠狠久久偷偷色综合96蜜桃 |