スウィンぐるん開発裏話(5)

スウィンぐるんはWindows専用で作っているため、特に最適化や高速化のテクニックは使っていません。最近のPCは速くて助かります。

もちろんUnity的に一般的に推奨されない記述は出来るだけ避けています。
代表的なものとしては

  • Update内でGetComponent系を使用しない
  • Update内でFind系を使用しない
  • Update内で文字列操作を行わない
  • 使用しないMonoBehaviourのコールバック(UpdateやLateUpdate)は宣言しない
  • 空文字列チェックはstring.IsNullOrEmptyを使用する
  • IDやHashでアクセス出来るものはそれを使用する(マテリアルやAnimator)

でしょうか。

まぁこれらは高速化というよりは低速化を防ぐ意味合いの方が強く、高速化はもっと実装アルゴリズム寄りの話(代表的なところではオブジェクトプール等)だと思います。あと高速化はちゃんとプロファイルしてから検討することが大事です。

とりあえずUnityのランタイムで処理が遅いものとメモリ操作(暗黙に行われるものにも注意)だけ気をつければ、少なくともWindowsプラットフォームならそれほどパフォーマンスに影響はないと思います。

高速化に興味がある方はUnite 2016のこの資料を読んでみるといいと思います。

モバイル端末向けのUnityアプリケーションの最適化実践テクニック
ハードウェア性能を引き出して60fpsを実現するプログラミング・テクニック

(続く)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です