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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Unity性能优化的N种武器

發布時間:2023/12/1 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Unity性能优化的N种武器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

貼圖

l??控制貼圖大小,盡量不要超過?1024 x1024;

l??盡量使用2的n次冪大小的貼圖,否則GfxDriver里會有2份貼圖;

l??盡量使用壓縮格式減小貼圖大小;

l??若干種貼圖合并技術;

l??去除多余的alpha通道;

l??不同設備使用不同的紋理貼圖,分層顯示;

?

模型

l??盡量控制模型的面數,小于1500會比較合適;

l??不同設備使用不同的模型面數;

l??盡量保持在30根骨骼內;

l??一個網格不要超過3個material;

?

動畫

l??N種動畫壓縮方法;

l??盡量減少骨骼數量;

?

聲音

l??采用壓縮MP3?和?wav;

?

資源方面的優化

l??使用?Resource.Load?方法在需要的時候再讀取資源;

l??各種資源在使用完成后,盡快用Resource.UnloadAsset和UnloadUnusedAsset卸載掉;

l??靈活運用AssetBundle的Load和Unload方法動態加載資源,避免主要場景內的初始化內存占用過高;(實現起來真的很難…)

l??采用www加載了AssetBundle后,要用www.Dispose?及時釋放;

l??在關卡內謹慎使用DontDestroyOnLoad,被標注的資源會常駐內存;

?

代碼的優化

l??盡量避免代碼中的任何字符串連接,因為這會給GC帶來太多垃圾;

l??用簡單的“for”循環代替“foreach”循環;

l??為所有游戲內的動態物體使用內存對象池,可以減少系統開銷和內存碎片,復用對象實例,構建自己的內存管理模式,減少Instantiate和Destory;

l??盡量不使用LINQ命令,因為它們一般會分配中間緩器,而這很容易生成垃圾內存;

l??將引用本地緩存到元件中會減少每次在一個游戲對象中使用 “GetComponent” 獲取一個元件引用的需求;

l??減少角色控制器移動命令的調用。移動角色控制器會同步發生,每次調用都會耗損較大的性能;

l??最小化碰撞檢測請求(例如ray casts和sphere checks),盡量從每次檢查中獲得更多信息;

l??AI邏輯通常會生成大量物理查詢,建議讓AI更新循環設置低于圖像更新循環,以減少CPU負荷;

l??要盡量減少Unity回調函數,哪怕是空函數也不要留著;(例如空的Update、FixedUpdate函數)

l??盡量少使用FindObjectsOfType函數,這個函數非常慢,盡量少用且一定不要在Update里調用;

l??千萬一定要控制mono堆內存的大小;

?

摘自《騰訊大咖說:騰訊是如何做Unity手游性能優化的》

原文地址:http://wetest.qq.com/lab/view/108.html

轉載于:https://www.cnblogs.com/fws94/p/6367471.html

總結

以上是生活随笔為你收集整理的Unity性能优化的N种武器的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。