做3d移動端記憶體一直是人們頭疼的問題,載入的資源釋放了,還有其它的須要釋放。比方ngui釋放,事實上主要是ngui的texture和sprite釋放,假設你指令碼程式沒用到ngui組建的引用的話,切換場景後第一時間呼叫
resources.unloadunusedassets ();
就會釋放掉。
可是假設你指令碼程式用到ngui的組建的時候。比方直接拖到指令碼上的物體。或者find的物體,等,僅僅要引用ngui的組建,它就會加到記憶體中。切換場景也不會釋放。resources.unloadunusedassets ();也不會釋放。你要結束的時候刪除這些引用,就會釋放掉了
我引用ios的思想去釋放的,寫了個dealloc方法
在你的指令碼之間互動類中寫
void dealloc()
resources.unloadunusedassets ();
system.gc.collect ();
}就能夠釋放掉,對移動端大有優點,我從之前的130mb記憶體,優化到如今的50mb左右,非常是穩定。
Unity 3D 優化記憶體
什麼是mipmap?mipmap旨在有效降低渲染頻寬的壓力,提公升遊戲的渲染效率。但是,開啟mipmap會將紋理記憶體提公升1.33倍。對於具有較大縱深感的3d遊戲來說,3d場景模型和角色我們一般是建議開啟mipmap功能的,但是在我們的測評專案中,經常會發現部分ui紋理也開啟了mipmap功能。這...
Unity3D 效能優化
unity3d 效能優化 一 程式方面 01 務必刪除指令碼中為空或不需要的預設方法 02 只在乙個指令碼中使用ongui方法 03 避免在ongui中對變數 方法進行更新 賦值,輸出變數建議在update內 04 同一指令碼中頻繁使用的變數建議宣告其為全域性變數,指令碼之間頻繁呼叫的變數或方法建議...
Unity3D常用移動方法
一 向量相加減控制移動 transform.position transform.forward time.deltatime 5f 二 translate控制移動 transform.translate vector3.forward time.deltatime 5f 三 差值控制移動 當前位置...