iOS のパフォーマンスの最適化
ビルトインプロファイラでのパフォーマンス測定

iOS 特有の最適化

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Sumbission failed

For some reason your suggested change could not be submitted. Please try again in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

このページではiOSデプロイに特有の最適化を説明します。

スクリプト コール最適化

UnityEngine 名前空間のほんどの関数はC/C++で実装されています。C/C++関数をMonoスクリプトからコールすることはパフォーマンス オーバーヘッドを伴います。iOS スクリプト コール最適化 (メニュー: Edit->Project Settings->Player) を使用して毎フレーム1から4ミリ秒の節約が出来ます。この設定のオプションは:-

  • Slow and Safe - Monoのデフォルトであり,例外処理に対応した内部コール ハンドリング。
  • Fast and Exceptions Unsupported - Mono 内部コール ハンドリングのより速い実装です。例外処理はサポートされてないため使用は注意が必要です。例外を明示的にハンドリングしないアプリ (また,体よく対応がそもそも必要ない) はこのオプションが理想的です。

希望のフレームレートをセット

Unity iOSによりアプリケーションがレンダリングループを実行する周波数を変更することが出来て,デフォルトでは30フレーム毎秒です。バッテリー消費を節約するためにこの数字を下げることは出来ますが,この節約は当然にフレーム更新が犠牲になります。反対にフレームレートを増やして,タッチ入力および加速度センサー処理といった,他の活動よりもレンダリングの優先度をあげることが出来ます。フレームレートを調整して実際のゲームプレイへの影響を判断する必要があります。

もしアプリケーションが重たい処理やレンダリングを伴い,例えば15フレーム毎秒しか維持出来ない場合,希望のフレームレートを15以上に設定したからといってパフォーマンスは上がりません。アプリケーションは十分に最適化しないと高いフレームレートは得られません。

希望するフレームレートをセットするには Application.targetFrameRate を変更します。

加速度センサーの周波数のチューニング

もし加速度センサー入力があまりに頻繁に処理される場合ゲーム全体のパフォーマンスが結果的に影響を受けるかもしれません。デフォルトでは,Unity iOSアプリケーションは加速度センサーを60回毎秒サンプリングを行います。加速度センサーのサンプリング周波数を下げるとこでパフォーマンス 改善がみられるかもしれず,加速度センサーを使用しないゲームではゼロに,設定することさえも出来ます。加速度センサーの周波数を変更するには iOS Player SettingsOther Settings から変更します。

iOS のパフォーマンスの最適化
ビルトインプロファイラでのパフォーマンス測定