はじめに
ReSharper で Unity 連携を有効化すると、
Unity においてパフォーマンスがあまり良くないコードを
ハイライト表示して教えてくれるようになります
Unity 連携の有効化
Unity 連携の有効化の方法は上記の記事で記載しております
ハイライト表示の種類
例えば、Update、LateUpdate、FixedUpdate などの関数や
コルーチンは、あまり良いパフォーマンスではないため、ハイライト表示されます
また、Update 関数などから呼び出されている他の関数も
毎フレーム呼び出されていることがわかるようにハイライト表示されます
下記のような、処理が少し遅いコードもハイライト表示されます
- GetComponent 系の関数
- AddComponent
- Find 系の関数
- SendMessage や Invoke などの文字列ベースの関数呼び出し
- Camera.main などの、内部で Find 系の関数が呼び出されているプロパティ
- null チェック
- Debug.Log 系の関数
良いパフォーマンスのコードに自動で変更
例えば、GetComponent 関数を選択した状態で Ctrl + . を押して
「Introduce field and initialise in 'Start'」や
「Introduce field and initialise in 'Awake'」を選択すると、
GetComponent の呼び出しを Start や Awake に移動して、
さらに GetComponent で取得した参照を保持するための変数を自動で定義してくれます
ハイライト表示の無効化
もしも、ハイライト表示が不要であれば、Visual Studio メニューの
「RESHARPER > Options」から「Code Editing > Unity Engine」を選択して
「Highlight expensive method calls in frequently called code」をオフにします