このページでは

QMLコードの分析

QML Profiler を使用すると、Qt Quick アプリケーションで発生する、動作の遅延や応答停止、ユーザーインターフェースのカクつきといった典型的なパフォーマンス問題の原因を特定できます。

Qt Extension for VS Code から `QML Profiler ` を起動して、実行中の QML アプリケーションのプロファイリングを行い、プロファイリングデータを分析することができます。

QML Profilerのインストール

QMLアプリケーションのプロファイリングを行うには、QML Profilerをインストールする必要があります。Command Palette にアクセスし、「Qt: Install the most recent QML trace viewer 」を選択してください。

QML Profiler をインストールしていない場合、アプリケーションのプロファイリングを初めて開始する際に、Qt Extension for VS Codeからインストールするよう提案されます。

特定のQML Profiler 実行ファイルを使用するには、QML Profiler の設定でそのパス設定を行ってください。

プロファイリングデータの収集

現在開いているアプリケーションのプロファイリングデータを収集するには:

  1. Command Palette に移動し、ツールバーの [Qt: Profile QML application ] または [QMLアプリケーションのプロファイル ] (Profile QML application) を選択します。
  2. アプリケーションを使用してプロファイリングデータを収集します。
  3. アプリケーションを閉じるか、ツールバーの「QMLアプリケーションのプロファイル 」(Stop QML profiler )を選択します。

QML Profiler を使用してデータを収集し、結果を分析します。

{QML Profiler}

詳細については、Qt Creator のドキュメントにある「QML アプリケーションのプロファイリング」を参照してください。

QML Profiler 」の設定で、QML Profiler を起動する際にアプリケーションに渡す引数を設定できます。

実行中のアプリケーションにQML Profiler をアタッチする

プロファイリングデータを収集するために、QML Profiler を実行中のアプリケーションにアタッチするには:

  1. Terminal で、次の引数を指定してアプリケーションを起動します:
    <your_executable_path> -qmljsdebugger=host:<IP_address>,port:<port_number>,block,services:QmlProfiler,CanvasFrameRate

    ここで、IP_addressはアプリケーションが実行されているホストの IP アドレス、port_numberはデバッグ用ポート、block はデバッグクライアントがサーバーに接続するまでアプリケーションの実行を阻止します。これにより、起動時からプロファイリングが可能になります。

  2. アプリケーションが実行されている状態で、Command Palette にアクセスし、「Qt: Attach to running QML application for profiling 」を選択します。
  3. ホストの IP アドレスを入力し、[Enter] を選択します。
  4. ポート番号を入力し、「Enter」を選択します。

Qtの設定も参照してください

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.