質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

1回答

4680閲覧

中断すると軽くなる理由

yuuyu

総合スコア1139

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2020/06/29 14:25

編集2020/06/30 13:17

かなり大雑把な質問内容になってしまうことをご承知ください。
unityのパフォーマンスの件で、気になったことがありましたので質問させていただきます。

動作の例

今回の環境として、一定時間ごとにオブジェクトが増えていく、というシステムになっています。
unityから実行(play)し、ある程度時間が経つと、updateの呼び出し量も増え、少しずつ重たくなります。
そこで、ゲームを一時中断(pause)し、すぐに再スタート(play)すると、動作が軽くなります。
とはいえ文章では中々伝えづらいので、画像を添付します。
イメージ説明
上記画像で、60fpsを下回るのが一時中断前、崖のように急に60fpsを上回った箇所が一時中断したところです。
このように、中断を挟むだけで、かなり速度が改善します。

なお、上記画像のグラフには、EditorLoop(Othersの箇所)は含まれず、ほとんどが自作スクリプトによる実行量になります。

質問内容

上記のように、中断を挟むだけで改善する理由として考えられるものはありますでしょうか?
もちろん、情報がこれだけしかない以上、根本的な原因を特定することは厳しいと思いますので、何か解決になる手助けをいただけると嬉しいです。

動作環境

unity2019.4.1f1
macOS 10.15.5

2020/06/30 追記

スクリプト速度の改善と直接関係あるかは不明ですが、
WaitForTargetFPSの「semaphore.WaitForSignal」というものが入っている事が実行の大幅な時間を使用している時があることが分かりました。
これが常に滞在しているわけではなく、あるとき突然出現し、上記のグラフを水平だったものを一気にジグザグにしてしまいます。
そして一時中断し、再開すると、このsemaphoreは0に近くなり、(一時的に)安定するようです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

これはあくまでも、予想ですが、何か重い負荷のかかるような処理をゲームが始まる前にやっていないでしょうか?ゲームが始まり、重い処理をして、中断したらその処理をしなくて済むからFPSが60以上になるのではないでしょうか。自作スクリプトの場合、自分が思っていない場所にとっても重い処理をしてしまったりしていることがよくあります。見返してみたらどうでしょう。
なんか回答というよりも提案みたいになってすみません…
参考になるといいです。

投稿2020/06/30 00:34

Noju

総合スコア38

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yuuyu

2020/06/30 01:49

回答ありがとうございます。質問内容が内容なので、提案でも全然ありがたいです! ゲームが始まる前、ですね、、ちょっと探してみます! ただ今回のこの現象は、初回だけではなく、ある程度重くなる度に中断を挟んでも改善されるので、他にも原因がある気もしています。。。
Noju

2020/06/30 01:51

そうですか…
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問