Page 1 of 1

再生終了時の挙動について

Posted: 2018/04/22 13:15
by kudou
はじめまして。

下記の環境にてゲームを作成しております。
●Windows8.1
●Unity 2017 2.0 f3
●CPU i7-4790K 4.00GHz
●メモリ 16GB

ver3.0.2のArborを購入してプロジェクトの方へインポートしました。
いくつかサンプルシーンを確認していて、エディタ再生後、終了してすぐに再生しようとしても15~20秒ほどしないとシーンが始まらないことがありました。
そこで自分が作っていたシーンで試したところ終了→すぐ再生の間の時間が同じように15~20秒かかるようになりました。
Arborを削除したあとに試すと終了→すぐ再生の間の時間は5秒ほどになりました。
再度Arborを入れて試すと終了→すぐ再生の間の時間は15~20秒ほどになります。
タスクマネージャーのCPU使用率をみていると下記のようになっていました。

●Arborインポート前のシーン終了時
CPU使用率8%くらいの状態から2、3秒で0%に近い値になる

●Arborインポート後のシーン終了時
CPU使用率15~20%が15秒ほど続いたあとに0%に近い値になる

CPU使用率が0%に近い値のときに再生をするとArborインポート前・後にかかわらず5秒ほどでシーンが始まります。
今のところ終了時の挙動以外は特に不都合なく動作しています。
このシーン再生終了時の挙動の原因はわかりますか?

お手数ですがご返答よろしくお願いします。

Re: 再生終了時の挙動について

Posted: 2018/04/22 14:41
by caitsithware
ご質問ありがとうございます。

ご指摘の問題の原因ですが、Arborではエディタ拡張からクラスを選択してGetComponentなどができる機能があり、クラス一覧を別スレッドで取得しているのですが、
Unityのプレイ開始では、実行中のスレッドの終了(今回の例ではクラス一覧を作成し終るまで)を待ってからプレイ開始しているようで時間がかかるようになっていました。

クラス一覧が必要なタイミングが限定的なことも考慮しますと、プレイ開始に時間がかかるのは問題がありますので今後の更新で修正いたします。

修正までには時間がかかるかと思いますので、それまでの間以下の暫定対処方法を行うことで一時的に回避できます。

■暫定対処方法
  • Assets/Plugins/Arbor/Internal/Editor/ClassList.csをスクリプトエディターで開く。
  • 10行目の[InitializeOnLoad]を削除
ご不便おかけして申し訳ございませんが、よろしくお願いいたします。

Re: 再生終了時の挙動について

Posted: 2018/05/04 15:06
by kudou
迅速なご返答ありがとうございます。

暫定対応の方で問題が軽減しました。
本格的な修正の方、大変かと思いますがよろしくお願いします。