MuMu エミュレータを一定時間実行すると、Device.Present の時間が突然増加します。

1) MuMu エミュレータを一定時間実行すると、Device.Present の時間が急激に上昇します
2) 実行プロセス中に温度情報を取得する方法
3) 入力システムのマウスがメインボタンのバグを置き換える
4) Unity を禁止する方法https://config.uca .cloud.unity3d.com への送信からデバイス情報が送信されます


これは 347 回目の UWA 技術知識共有プッシュであり、UWA コミュニティで注目のトピックを選択し、UWA Q&A、コミュニティ投稿、その他の技術知識ポイントを取り上げ、誰もがより包括的に習得および学習できるようにします。

プラットホーム

Q: MuMu シミュレータを一定時間実行すると、Device.Present の時間が急に上昇し、プロファイラーにロードされたセマフォが長時間待機している状態になります。原因がわかりません。説明を手伝ってくれる友人がいるかどうか尋ねてください。

次の図は、プロファイラーによって記録されたプロセスです。


使用したエンジンのバージョン: Unity 2019.4.28f。

MuMu シミュレータは 32 ビットと 64 ビットの複数のバージョンを試した結果、この問題を再現できましたが、実機や他のシミュレータではこの問題が発生していません。

同じエンジンバージョンの別のプロジェクトを比較したところ、以下の設定がこの問題に影響していると思われますが、1. この問題が発生した時期が不明であること、2. 同僚のシミュレータ上で発生したことの 2 点により、あまり確信が持てませ

。 BlitType を Always に設定するだけで上記の問題は発生しませんが、別の同僚のシミュレーターでは BlitType を Always に設定し、最適化されたフレーム ペーシングを無効にする必要があります。

A1: 私も同じ問題に遭遇しましたが、Optimized Frame Pacing をオフにするだけで効果があるようです。

回答を提供してくれた JackCheng@UWA Q&A コミュニティに感謝します

A2: 一定の時間が経過した後、フレーム制限を強制的に設定してみることをお勧めします。

IEnumerator Start()
{
    yield return new WaitForSeconds(10);

    Application.targetFrameRate = 31;

    Application.targetFrameRate = 30;
}

回答を提供してくれた littlesome@UWA Q&A コミュニティに感謝します

A3: 私もまったく同じ問題に遭遇しました。シミュレータがアイドル状態(通常10分以内)の場合は出やすい気がしますが、常時稼働していると出にくい(1時間程度かかります)。

通常の状況では、ゲームがスタックするとエミュレータも非常にスタックしますが、この場合、エミュレータはほとんど影響がなく、他のものは正常に開くことができます。エミュレータが Google の Optimized Frame Pacing を十分にサポートしていない可能性があり、Android SDK の上位バージョンへの変更も無効です。

これら 2 つのオプションをオンにすると、携帯電話でのエクスペリエンスが実際に向上します。

私が今検討したい解決策は、Andorid システムのバージョンが比較的低いと判断された場合、実行時に最適化フレーム ペーシングをオフにすることです。

実行時にそれをオフにする方法はまだ見つかりません。

回答を提供してくれた leviyuan@UWA Q&A コミュニティに感謝します


パフォーマンス

Q: 動作中の温度を取得するにはどうすればよいですか? 温度が高いとフレームや画質が低下する機能を作らなければなりません。

A: さまざまなデバイスによって取得される温度値の数が大きく異なるため、温度統計のルールは非常に複雑です (バッテリー温度のみを取得できるものもあれば、バッテリー、各 CPU、複数の GPU を含む 20 以上の温度を取得できるものもあります) 、さまざまなセンサーなど)、さまざまなツールの取得メカニズムは似ていますが、計算される温度は多少異なるはずです。

その場合、ツールによって取得された温度値は、ほとんどの場合温度と一致しません (温度値は高いですが、手の温度は高くありません)。そのため、取得した温度値を正確な基準として使用することはお勧めできません。 FPSなど正確に計測できる値を使用するのが良いでしょう。

この回答は UWA によって提供されました


脚本

Q: 問題の内容: キャンセルという名前のアクションにマウスの右ボタンをバインドすると、右ボタンがクリックされたときにイベントが受信され、マウスのメイン ボタンが右ボタンに置​​き換えられます。現時点では、左ボタンをクリックするとイベントが受信されることが期待されています。イベント、右クリックではイベントは受信されませんが、ほとんどのコンピュータでは、右クリックでイベント「キャンセル」が受信されます。

一時的な解決策: マウス ボタン機能は入力システムを通じて実装されず、Input.GetMouseButtonDown によって実装されます。

Unity バージョン: 2020.3
入力システム バージョン: 1.3.0
システム: Windows10、Windows11

この問題に遭遇した人、または解決策を持っている人はいますか?

A1: キーマップが正しく設定されていない可能性があります。通常の状況では、デフォルトのキー設定があり、これがオリジナルのキー設定です。次に、外側の層に変更用のキー設定の別の層があります。変更可能なキー設定は、通常の操作中に操作します。

回答を提供してくれた Manhua@UWA Q&A コミュニティに感謝します

A2: 入力システムの考え方は、コードによって実装された機能を構成実装に変更することであるため、実行時に設定を変更する必要はありません。もう 1 つの点は、異なるコンピューター上で同じ構成のパフォーマンスが一貫していないことです。上位層の機能が不安定な下位層に依存している場合、上位層を修正することはできません。

回答を提供してくれた質問所有者の Li Wei@UWA Q&A Community に感謝します。


プラットホーム

Q: Unity が WeChat ミニゲームに転送すると、開始時に https://config.uca.cloud.unity3d.com にリクエストが送信され、起動時間に影響を与えることがわかります。

バージョン2019、2021をオフにする方法はありますか。

A: リリース設定に [Disable HW Statistics] のようなキーワードがあるかどうかを確認してください。

回答を提供してくれた Li Wei@UWA Q&A コミュニティに感謝します

表紙画像はネットから拾ってきました


今日の共有はここまでです。人生には限界がありますが、知識には限界がありません。長い開発サイクルの中で、私たちが遭遇した問題は氷山の一角にすぎません。UWA コミュニティは喜んで同行し、一緒に探索し、共有します。より多くの開発者が UWA コミュニティに参加することを歓迎します。

UWA官网:www.uwa4d.com
UWA社区:community.uwa4d.com

 

おすすめ

転載: blog.csdn.net/UWA4D/article/details/132183926