以下の内容はhttps://baba-s.hatenablog.com/entry/2019/05/13/084000より取得しました。


【ReSharper】Unity においてパフォーマンスがあまり良くないコードをハイライト表示する

はじめに

f:id:baba_s:20190511154244p:plain

ReSharper で Unity 連携を有効化すると、
Unity においてパフォーマンスがあまり良くないコードを
ハイライト表示して教えてくれるようになります

Unity 連携の有効化

Unity 連携の有効化の方法は上記の記事で記載しております

ハイライト表示の種類

f:id:baba_s:20190511152709p:plain

例えば、Update、LateUpdate、FixedUpdate などの関数や

f:id:baba_s:20190511152712p:plain

コルーチンは、あまり良いパフォーマンスではないため、ハイライト表示されます

f:id:baba_s:20190511152716p:plain

また、Update 関数などから呼び出されている他の関数も
毎フレーム呼び出されていることがわかるようにハイライト表示されます

f:id:baba_s:20190511154244p:plain

下記のような、処理が少し遅いコードもハイライト表示されます

  • GetComponent 系の関数
  • AddComponent
  • Find 系の関数
  • SendMessage や Invoke などの文字列ベースの関数呼び出し
  • Camera.main などの、内部で Find 系の関数が呼び出されているプロパティ
  • null チェック
  • Debug.Log 系の関数

良いパフォーマンスのコードに自動で変更

f:id:baba_s:20190511153333g:plain

例えば、GetComponent 関数を選択した状態で Ctrl + . を押して
「Introduce field and initialise in 'Start'」や
「Introduce field and initialise in 'Awake'」を選択すると、
GetComponent の呼び出しを Start や Awake に移動して、
さらに GetComponent で取得した参照を保持するための変数を自動で定義してくれます

ハイライト表示の無効化

f:id:baba_s:20190511153706p:plain

もしも、ハイライト表示が不要であれば、Visual Studio メニューの
「RESHARPER > Options」から「Code Editing > Unity Engine」を選択して
「Highlight expensive method calls in frequently called code」をオフにします

参考サイト様

関連記事




以上の内容はhttps://baba-s.hatenablog.com/entry/2019/05/13/084000より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14