實時的例項化乙個gameobject 是乙個消耗比較大的操作, 手機平台的一般盡量少用, 當遊戲中你的士兵(或者子彈什麼)不斷產生又不斷死亡的時候, 重複利用就成為最好的優化方法之一, 下面總結乙個通用的快取類, 提供物體的重複利用方法:
/// /// 以字典的形式管理快取物件
///
public class cachedictionarywhere t: unityengine.object
/// /// 獲取快取中的乙個物體, 沒有將返回null
///
public t get(string name)}}
return null;
}/// /// 新增乙個物件到快取
///
public void add(string name,t t)
else);}
}/// /// 消除所有快取
///
public void clearall(clearone clearone)
bc.value.clear();
}cahces.clear();
}}
使用時方法如下:
初始化 (子彈為例):
//子彈gameobject 快取
static cachedictionarybulletcahce = new cachedictionary(
delegate(bulletbase bb)
);
獲取快取的子彈:
//從快取中尋找
bulletbase bullet = bulletcahce.get(name);
//快取中沒有找到, 就新生成乙個子彈例項
if (bullet == null)
使用結束後清空所有快取:
bulletcahce.clearall(delegate(bulletbase bb)
);
Unity3D 遊戲效能優化筆記
一 程式方面 1 盡量少new物件,減少gc的次數,可以使用物件池技術。2 使用ugui時,不要通過介面的z軸來做介面排序,這貌似會導致ugui的批處理失效。3 盡量少使用getcomponent 頻繁呼叫的可以用乙個變數在開始時把component存起來。4 不使用ongui 5 盡量少例項化遊戲...
總結使用Unity 3D優化遊戲執行效能的經驗
流暢的遊戲玩法來自流暢的幀率,而我們即將推出的動作平台遊戲 shadow blade 已經將在標準iphone和ipad裝置上實現每秒60幀視為乙個重要目標。以下是我們在緊湊的優化過程中提公升遊戲執行效能,並實現目標幀率時需要考慮的事項。當基本遊戲功能到位時,就要確保遊戲執行表現能夠達標。我們衡量遊...
Unity3D遊戲場景優化之批處理
目錄 喜歡我的部落格請記住我的名字 秦元培,我的部落格位址是 最近開始研究unity3d遊戲場景優化,每次提及遊戲優化這個話題的時候,我的腦海中都會浮現出 仙劍奇俠傳六 這個讓四路泰坦都光榮隕落的神奇遊戲,作為乙個使用unity3d引擎進行遊戲開發的仙劍玩家,我曾經天真的以為,這款使用unity3d...