埋め込み Linux の任意の機能の有効化
Enable optional features to improve your application performance.
読み終わるまでの所要時間 13 分最終更新 1ヶ月前
以下の任意の機能を有効にして、アプリケーションのパフォーマンスを向上させることができます。
ロード画面
埋め込み Linux プレイヤーを起動すると、別のロード画面が表示されます (通常、リファレンスシステムでは 200 ミリ秒以内)。この画面には、Player 設定 ウィンドウで設定された 2D 画像が表示されます。最初のシーンコンテンツもそのまま使用できますが、ロード画面の背後でロードされます。
GLES3 のシェーダーキャッシュの永続性
埋め込み Linux は、起動タイミングを速くするために、Unity Player がインストールされているデバイスでのバイナリシェーダーキャッシュをサポートしています。キャッシュは、シェーダーのロード後、ランタイムに作成されます。このキャッシュは一時フォルダー に書き込まれるため、システムの再起動時に消去できます。
[TEMP]/[COMPANY_NAME]/[PROJECT_NAME]/UnityShaderCache/システムの再起動時にシェーダーキャッシュを使用するには、以下の手順でキャッシュをプレイヤーデータにコピーします。
- Unity Player をターゲットシステムに展開します。
- アプリケーションを実行し、すべてのシェーダーがタッチされていることを確認します。
- すべてのファイルを から
[TEMP]/[COMPANY_NAME]/[PROJECT_NAME]/UnityShaderCache/にコピーします。[PATH_TO_PLAYER]/Data/UnityShaderCache/
注:
- プレイヤーが更新されるたびにキャッシュを更新する必要があります。
- キャッシュはデバイス固有であるため、ハードウェアとソフトウェアの設定がまったく同じデバイス間でのみ共有する必要があります。
Vulkan のパイプラインキャッシュの永続性
埋め込み Linux は、起動タイミングを速くするために、Unity Player がインストールされているデバイスでのバイナリ Vulkan パイプラインキャッシュをサポートしています。バイナリ Vulkan パイプラインキャッシュは、Vulkan パイプラインの使用時、ランタイムに作成されます。このキャッシュは一時的な ファイルに書き込まれるため、システムの再起動時に消去できます。
[TEMP]/[COMPANY_NAME]/[PROJECT_NAME]/vulkan_pso_cache.binシステムの再起動時にパイプラインキャッシュを使用するには、以下の手順でキャッシュをプレイヤーデータにコピーします。
- Unity Player をターゲットシステムに展開します。
- アプリケーションを実行し、すべてのパイプラインが使用されていることを確認します。
- ファイルを
[TEMP]/[COMPANY_NAME]/[PROJECT_NAME]/vulkan_pso_cache.binにコピーします。[PATH_TO_PLAYER]/Data
注:
- プレイヤーが更新されるたびにキャッシュを更新する必要があります。
- キャッシュはデバイス固有であるため、ハードウェアとソフトウェアの設定がまったく同じデバイス間でのみ共有する必要があります。
起動時間ロギング
起動時間ロギングは、アプリケーションの起動にかかる時間の長さです。これは、システムの安全性と規制要件の重要な指標としてよく使用されます。
埋め込み Linux の起動時間ロギングには、アプリケーションが起動されてからの継続時間または合計時間 (ミリ秒単位) が含まれます。起動時間ロギングには 2 つのタイプがあります。
- **Real:**実ウォール時間またはクロック時間のことで、時間の計算に使用されるストップウォッチによく似ています。
- **User:**アプリケーションまたはそのスレッドの 1 つが CPU コアで費やした時間です。アプリケーションの起動時に複数のスレッドがビジー状態になる場合は、リアルタイムよりも大きくなる可能性があります。
C# から起動タイミングログを追加するには、以下を使用します。
HmiPlatform.LogStartupTiming("log tag");結果は、以下の 行に表示されます。
Player.log[TIMING::STARTUP] log tag: Real: xxx ms | User: yyy msログタグ と、プレイヤーの開始時刻からの ウォール時間 (xxx) および CPU 時間 (yyy) がミリ秒単位で表示されます。
#if UNITY_EMBEDDED_LINUX_API ... #endif**注:**Time コマンドと同じ用語を使用して、ウォール時間とCPU 時間を参照します。詳細については、Linux のメインマニュアルを参照してください。
出力例:
[TIMING::STARTUP] Initial probing done: Real: 19 ms | User: 11 ms[TIMING::STARTUP] SDL Initialized: Real: 64 ms | User: 54 ms[TIMING::STARTUP] Scripting runtime loaded: Real: 97 ms | User: 86 ms[TIMING::STARTUP] Plugins loaded: Real: 97 ms | User: 87 ms[TIMING::STARTUP] Engine initialized (nogfx): Real: 104 ms | User: 94 ms[TIMING::STARTUP] Player Prefs loaded: Real: 104 ms | User: 94 ms[TIMING::STARTUP] Screen initialized: Real: 139 ms | User: 112 ms[TIMING::STARTUP] Engine initialized (gfx): Real: 187 ms | User: 161 ms[TIMING::STARTUP] Gfx initialized: Real: 190 ms | User: 163 ms[TIMING::STARTUP] Input initialized: Real: 190 ms | User: 163 ms[TIMING::STARTUP] SPLASH - Begin: Real: 190 ms | User: 164 ms[TIMING::STARTUP] SPLASH - Primary scene assets loaded (async): Real: 2197 ms | User: 1670 ms[TIMING::STARTUP] SPLASH - All engine initial states established: Real: 2197 ms | User: 1670 ms
スクリプト API を使用したカスタムイベントからの出力
[TIMING::STARTUP] HELLO!!: Real: 2198 ms | User: 1671 msboot.configplatform-hmi-quit-after-frameXX[TIMING::STARTUP] Frame 1 rendered: Real: 2209 ms | User: 1687 ms[TIMING::STARTUP] Frame 2 rendered: Real: 2210 ms | User: 1692 msWayland での EVDEV 入力処理
Wayland での実行中に 入力ドライバーを有効にするには、 引数を指定してプレイヤーを開始します。また、 として にある設定ファイルに追加することもできます。
EVDEV SDL2-platform-embedded-linux-wayland-enable-evdev-input platform-embedded-linux-wayland-enable-evdev-input=1Data/boot.configWayland 使用の強制
X11 と Wayland の両方のウィンドウシステムが使用可能なシステムでは、環境変数を に設定することで、Unity Player に Wayland の使用を強制できます。
SDL_VIDEODRIVER=waylandコマンドライン引数
コマンドラインから埋め込み Linux の Unity Player を起動し、引数を渡すことで、プレイヤーの実行方法を変更することができます。
**注:**すべてのコマンドライン引数は、Unity エディターと の設定よりも優先されます。
boot.configCLI 引数 | 説明 |
|---|---|
| (非推奨) 最初のフレームのレンダリング後にプレイヤーを終了します。 |
| 強制された |
| ロギングを有効にします。Player Settings > Configuration > Logging を参照してください。 |
| ロギングを有効にします。Player Settings > Configuration > Logging を参照してください。 |
| GLES のコンテキスト共有を無効にします。**注:**この引数はマルチディスプレイサポートを無効にします。 |
| プレイヤーの CPU 設定を指定します。この引数は、文字列が文字 H (高パフォーマンスコア)、文字 L (低パフォーマンスコア)、文字 D (無効コア) のいずれかまたはすべての組み合わせであると想定しています。例えば、4 コア以上の CPU で、1 つ目のコアの使用を無効にし、2 つ目のコアを高パフォーマンス、3 つ目と 4 つ目を低パフォーマンスとタグ付けする場合は |
| |
| 各フレーム間で渡すことができる垂直同期の数です。ここで、0 を設定すると vsync が完全に無効になり、-1 を設定すると |
| ゲームコントローラーの設定を変更します。Player Settings > Configuration > Enable Game Controllers を参照してください。 |
| SDL2 のオフスクリーンレンダリングドライバーを使用するようにプレイヤーを設定します。これはシミュレーションとレンダリングサーバーの作成に役立ちます。すべてのレンダリングはオフスクリーンですが、GPU アクセラレーションは行われます。**注:**この機能を使用する場合、 |
| Wayland での実行中に EVDEV SDL2 入力ドライバーを有効にします。詳細については、Wayland での EVDEV 入力処理 を参照してください。 |