Page 1 of 1

Arbor2.2.0で再生直後から数秒間処理落ちする

Posted: 2017/10/28 09:43
by kato
Unity 5.6.3p3
Arbor 2.2.0

これまでArbor2.1.7を使用していたプロジェクトにおいてArbor2.2.0へアップデートしたところ、
エディタでの再生直後から数秒程度、処理落ちするようになりました。
プロファイラを見るとその数秒間、妙なスパイクが立っています。

・空のプロジェクトにArbor2.2.0をインポートするだけでも同様の現象が見られます。
・シーン切り替え時は発生しない、再生直後のみの現象のようです。

これは想定内の挙動でしょうか?修正は可能でしょうか?
以上、ご確認よろしくお願いいたします。

Re: Arbor2.2.0で再生直後から数秒間処理落ちする

Posted: 2017/10/28 12:09
by caitsithware
ご報告ありがとうございます。

以下の手順で確認してみましたが体感できるような処理落ちは確認できませんでした。
  1. Unity5.6.3p3にてプロジェクトを作成
  2. Arbor2.2.0をインポート
  3. Example 7(Coin Pusher)を開いて実行
もしよろしければ、処理落ちに関する詳細(もともと何FPSだったのが、いくつになった等)や、
Profilerでのスパイク部分に関する詳細(一番処理負荷の高い箇所のスクリーンショット等)がありましたら教えていただけると助かります。

また、再生直後ということで、デシリアライズや開始処理などによるGCが関係している可能性もありますが、
GC関連につきましてはまだ改善の余地があるという認識ですので、こちらに関しては今後の更新でできる限り改善していく予定です。

ご不便おかけいたしますがよろしくお願いいたします。

Re: Arbor2.2.0で再生直後から数秒間処理落ちする

Posted: 2017/10/29 02:06
by kato
参考のスクリーンショットをお送りします。
下記リンクよりDLお願いします。
https://www.dropbox.com/s/nyda26ecn1yg9 ... B.zip?dl=0

スクリーンショットは4枚です。
①②を比べると、空のプロジェクトにArbor2.2.0をインポートするだけで少し挙動が変わっているのがわかるかと思います。
②のスパイクはある時点でぱたりと止みます。
これについては同様の検証を2環境で実施して再現しています。

③④は開発中のプロジェクトでArbor2.1.7と2.2.0の比較をしたものです。
①②と同様の傾向が、少し強めに出ています。
処理落ちとしては軽微なのですが、これが例えばプロジェクトの規模に応じて影響が大きく出てしまわないかと懸念しています。

他に必要な情報等あればお申し付けください。
以上、よろしくお願いいたします。

Re: Arbor2.2.0で再生直後から数秒間処理落ちする

Posted: 2017/10/29 04:03
by caitsithware
スクリーンショットありがとうございます。

200FPSなどが表示されているところをみるとVSyncは切っておられたのですね。
こちらでもVSyncを切ってみたところ、確かに再生時に一時的に処理負荷が上がるのを確認できました。

Arbor2.2.0をインポートしただけで確認できましたので、Editor固有の処理が再生時の処理負荷に影響を与えているとみて間違いなさそうです。
原因の可能性が高い箇所がありますので、次回更新の際に修正いたします。
それまでの間、しばしお待ちください。
また、Editor固有の処理でありランタイムでは行っていないので、ビルド版での影響はないと思って大丈夫です。

原因

GameObjectGetComponentCalculator等で使用するType指定用に事前にTypeを列挙していますが、
Editor上での再生直後も列挙処理が動いていたため。

暫定対処方法

以下の方法で事前列挙を行わないようにできます。
  • 編集するスクリプト
    Plugins/Arbor/Internal/Editor/ClassList.cs
  • 編集箇所
    10行目の[InitializeOnLoad]を削除
  • 影響範囲
    GameObjectGetComponentCalculator等で一番最初にType指定ウィンドウを表示する時に列挙に時間がかかる。
ご不便おかけして申し訳ございませんが、気になるようでしたらこの暫定対処を行っていただければ幸いです。

Re: Arbor2.2.0で再生直後から数秒間処理落ちする

Posted: 2018/02/28 20:19
by kato
早速のご対応ありがとうございます。
ビルド版での影響はないということで安心しました。
また、こちらでも暫定対処で症状が解消されることを確認できました。ありがとうございます。