3月 29, 2025 by Qt Group 日本オフィス | Comments
アプリケーション開発者にとって、組み込みハードウェアのパフォーマンス最適化は常に課題です。Qt Quickは、Qt Quick Compilerにより、ソースコードを変更することなくオプションを有効にするだけでパフォーマンス向上を提供します。
Qt Quick Compilerについては、研究開発チームがすでに以下のようなパフォーマンスベンチマークを実施しています。
しかし、これらのテストは主にQML言語自体に焦点を当てていると思います。アプリケーション開発者として、最も関心を持っているのはアプリケーションレベルでの潜在的な改善の可能性を評価することです。そのため、既存のQt Quick Coffee Machineデモをテスト対象として選び、Colibri iMX6ULLハードウェアプラットフォームをテストに利用しました。
以下のケースでテストを行いました。
Qt 6.8の時点では、qmltcはまだ技術プレビュー段階であり、いくつかの制限があります。例えば、デフォルトのQt Quickコントロールはアプリケーションで直接使用できません (Known Limitations 参照)。
これに対処するために、CMakeのトリックをいくつか使った実験的な一時的な解決策を作成しました。この解決策では、qt_add_qml_module用のラッパー関数qt_add_qml_module_qmltcを提供しており、CMakeターゲット指定の後で、Qt Quick Controlスタイルのパラメータを追加で受け取ります。
このリンクからアクセス可能です。使用例:
qt_add_qml_module_qmltc(apptestQtQuickControl Basic
URI testQtQuickControl
VERSION 1.0
QML_FILES
Main.qml
)
Qt Quick ControlのスタイルはC++ではなくQMLで実装されているため、qmltcを基本スタイルのボタンを含むアプリケーションで使用すると、次のようなエラーが発生します。
Error: Main.qml:10:5: Can't compile the QML base type "Button" to C++ because it lives in "QtQuick.Controls.Basic" instead of the current file's "untitled" QML module. [compiler]
Button {
^^^^^^
この制限を理解した上で、必要なQMLファイルをqmltcに渡してコンパイルするソリューションが採用されています。qt_add_qml_module_qmltc関数の2番目のパラメータ(例えば、Basic)は、対応するスタイルのQMLファイルを自動的に検索してインクルードし、指定されたCMakeターゲットにバインドします。これにより、Buttonなどのコンポーネントがモジュール内で利用可能になります。必要なプライベートライブラリもリンクされますが、現時点ではBasicスタイルのみがサポートされています。
ベンチマークを実施するために、Coffee Machine デモに以下の拡張を追加しました。
変更したソースコードはこちらです。
ベンチマークは2つのテストで構成されています。
以下は、100回繰り返しのベンチマーク結果です。
| Qt Quick Compiler 設定 | 起動時間 (ミリ秒) |
| qmlsc (qmlcachegen) | 428.04 |
| qmltc | 346.74 |
| Off | 682.76 |
| Qt Quick Compiler 設定 | 平均 FPS | フレーム数 | 実行時間 (ミリ秒) |
| qmlsc (qmlcachegen) | 50.3352 | 25181 | 500266 |
| qmltc | 50.8467 | 25437 | 500268 |
| Off | 50.3136 | 25170 | 500262 |
qmltc のパフォーマンスは印象的で、QMLのロード時間をほぼ半分に短縮しました。ただし、再度注意しておきますが、qmltc はまだ技術プレビュー段階にあるため、実稼働のプロジェクトでは慎重に使用すべきです。
qmlscモードでも同様のパフォーマンス改善が見られました。
フレームレート(FPS)では、qmltcも最高の数値結果を示しましたが、いずれのケースでも改善はわずかでした。これは予想通りで、コーヒーマシンのデモでは、QMLの動的読み込みにStackViewやLoaderをあまり使用していないためです。現在のFPSの結果は、ハードウェアの制約によってすでに限界に達しているようです。
コーヒーマシンのデモは比較的単純であり、より複雑なアプリケーションではさらに大きな改善が期待できるでしょう。
Download the latest release here: www.qt.io/download.
Qt 6.10 is now available, with new features and improvements for application developers and device creators.
Check out all our open positions here and follow us on Instagram to see what it's like to be #QtPeople.
9 21, 2025
本稿は「QML Model: Sort and filter the data on the fly」の抄訳です。..
7 1, 2025
本稿は「QtGrpc - Tips, Tricks & Sweet Spots」の抄訳です。 Qt 6.8 以降、Qt GRPC および Qt..
6 23, 2025
本稿は「Qt Bridges: Modernizing Software Design and Development」の抄訳です。 Qt..