nirasan's tech blog

趣味や仕事の覚え書きです。Linux, Perl, PHP, Ruby, Javascript, Android, Cocos2d-x, Unity などに興味があります。

Unity で iOS 実機だと Update 中に GetComponent するとたまに一瞬固まる問題

問題

  • 題名の通り。
  • Unity Editer や Android で動かしている分には気がつかなかった。
  • 同じ処理でも固まったり固まらなかったりする。初回はだいたい固まるのでキャッシュしてくれているのか。

対策

  • 問題の箇所では Prefab を Instantiate して、作成した GameObject に GetComponent していた。
  • GameObject を最初から配置して使い回せるようにすることで Instantiate を無くし、Start で GetComponent するようにした。
  • GetComponent が遅いのは聞いていたが、初めて体感したのでメモ。