以下の任意の機能を有効にして、アプリケーションのパフォーマンスを向上させることができます。
埋め込み Linux プレイヤーを起動すると、別のロード画面が表示されます (通常、リファレンスシステムでは 200 ミリ秒以内)。この画面には、Player 設定 ウィンドウで設定された 2D 画像が表示されます。最初のシーンコンテンツもそのまま使用できますが、ロード画面の背後でロードされます。
埋め込み Linux は、起動タイミングを速くするために、Unity Player がインストールされているデバイスでのバイナリシェーダーキャッシュをサポートしています。キャッシュは、シェーダーのロード後、ランタイムに作成されます。このキャッシュは一時フォルダー [TEMP]/[COMPANY_NAME]/[PROJECT_NAME]/UnityShaderCache/ に書き込まれるため、システムの再起動時に消去できます。
システムの再起動時にシェーダーキャッシュを使用するには、以下の手順でキャッシュをプレイヤーデータにコピーします。
[TEMP]/[COMPANY_NAME]/[PROJECT_NAME]/UnityShaderCache/ から [PATH_TO_PLAYER]/Data/UnityShaderCache/ にコピーします。注:
埋め込み Linux は、起動タイミングを速くするために、Unity Player がインストールされているデバイスでのバイナリ Vulkan パイプラインキャッシュをサポートしています。バイナリ Vulkan パイプラインキャッシュは、Vulkan パイプラインの使用時、ランタイムに作成されます。このキャッシュは一時的な [TEMP]/[COMPANY_NAME]/[PROJECT_NAME]/vulkan_pso_cache.bin ファイルに書き込まれるため、システムの再起動時に消去できます。
システムの再起動時にパイプラインキャッシュを使用するには、以下の手順でキャッシュをプレイヤーデータにコピーします。
[TEMP]/[COMPANY_NAME]/[PROJECT_NAME]/vulkan_pso_cache.bin ファイルを [PATH_TO_PLAYER]/Data にコピーします。注:
起動時間ロギングは、アプリケーションの起動にかかる時間の長さです。これは、システムの安全性と規制要件の重要な指標としてよく使用されます。
埋め込み Linux の起動時間ロギングには、アプリケーションが起動されてからの継続時間または合計時間 (ミリ秒単位) が含まれます。起動時間ロギングには 2 つのタイプがあります。
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 ms
boot.config 出力で platform-hmi-quit-after-frame を指定すると、フレーム番号 X まで以下がログに記録されます。ここで、X はブート設定値として指定する番号です。
[TIMING::STARTUP] Frame 1 rendered: Real: 2209 ms | User: 1687 ms
[TIMING::STARTUP] Frame 2 rendered: Real: 2210 ms | User: 1692 ms
Wayland での実行中に EVDEV SDL2 入力ドライバーを有効にするには、-platform-embedded-linux-wayland-enable-evdev-input 引数を指定してプレイヤーを開始します。また、platform-embedded-linux-wayland-enable-evdev-input=1 として Data/boot.config にある設定ファイルに追加することもできます。
X11 と Wayland の両方のウィンドウシステムが使用可能なシステムでは、環境変数を SDL_VIDEODRIVER=wayland に設定することで、Unity Player に Wayland の使用を強制できます。
コマンドラインから埋め込み Linux の Unity Player を起動し、引数を渡すことで、プレイヤーの実行方法を変更することができます。
注:すべてのコマンドライン引数は、Unity エディターと boot.config の設定よりも優先されます。
| CLI 引数 | 説明 |
|---|---|
-log-startup-times-and-quit |
(非推奨) 最初のフレームのレンダリング後にプレイヤーを終了します。 |
-platform-hmi-force-srgb-blit |
強制された srgb-blit の設定を変更します。詳細については、Player Settings > Rendering > Color Space を参照してください。 |
-platform-hmi-quit-after-frame |
ロギングを有効にします。Player Settings > Configuration > Logging を参照してください。 |
-platform-hmi-log-startup-times |
ロギングを有効にします。Player Settings > Configuration > Logging を参照してください。 |
-platform-hmi-single-gl-context |
GLES のコンテキスト共有を無効にします。注:この引数はマルチディスプレイサポートを無効にします。 |
-platform-hmi-cpu-configuration <configuration> |
プレイヤーの CPU 設定を指定します。この引数は、文字列が文字 H (高パフォーマンスコア)、文字 L (低パフォーマンスコア)、文字 D (無効コア) のいずれかまたはすべての組み合わせであると想定しています。例えば、4 コア以上の CPU で、1 つ目のコアの使用を無効にし、2 つ目のコアを高パフォーマンス、3 つ目と 4 つ目を低パフォーマンスとタグ付けする場合は DHLL となります。Player Settings > Configuration > CPU configuration を参照してください。 |
-platform-hmi-player-data-path |
.config ファイルとログファイルを保存するシステム上のディレクトリパスを入力します。Player Settings > Configuration > Player Data path を参照してください。 |
-platform-hmi-force-vsync-count [C] |
各フレーム間で渡すことができる垂直同期の数です。ここで、0 を設定すると vsync が完全に無効になり、–1 を設定すると QualitySettings の値が使用されます。 |
-platform-embedded-linux-enable-gamepadinput |
ゲームコントローラーの設定を変更します。Player Settings > Configuration > Enable Game Controllers を参照してください。 |
-platform-embedded-linux-offscreen-video |
SDL2 のオフスクリーンレンダリングドライバーを使用するようにプレイヤーを設定します。これはシミュレーションとレンダリングサーバーの作成に役立ちます。すべてのレンダリングはオフスクリーンですが、GPU アクセラレーションは行われます。注:この機能を使用する場合、Application.targetFrameRate を設定することで CPU/GPU の使用量を制限できます。 |
-platform-embedded-linux-wayland-enable-evdev-input |
Wayland での実行中に EVDEV SDL2 入力ドライバーを有効にします。詳細については、Wayland での EVDEV 入力処理 を参照してください。 |