2012/08/20 今日の開発日記

Unity/Androidアプリ「RUSHER」の開発も終盤にさしかかり、
日々の記録をとっておくと何かとあとから役に立ちそう。

メモリの少ないAndroid端末

初代Xperiaと初代GalaxyTABを実機テストに使っているが
メモリの少ないXperiaではガクガクと処理が遅くなる時がある。
メモリの断片化が起こっている時の症状である。
メモリの確保と開放を繰り返せば当然発生する。
UnityでInstantiateとDestroyでも同様であろう。

うかつにも、これをやっていた。お約束的なことなのに、なんとも間抜けな話である。
解決方法として、予めプレハブからInstantiateしておいたオブジェクトを
空のゲームオブジェクトにたくさん配置してSetActiveRecursively(false)しておく。
このオブジェクトのプールから必要に応じて取り出し、使用したあとまたプールにもどす。
この処理を弾丸、着弾パーティクルなど出て消えての激しいものに適用すると
目に見えてパフォーマンスが改善された。


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2012-08-20 (月) 01:10:57 (2664d)