クロスプラットフォームライブラリとAPI
Qt Creator IDEと生産性向上ツール
UI compositionのためのUIデザインツール
Qtプロジェクト向け
モバイルアプリのデジタル広告
受託開発、トレーニング、サポート等
組み込み向けユーセージ分析
Qtは、UIデザインやソフトウェア開発から品質保証、展開に至るまで、製品開発ライフサイクル全体で生産性を向上させます。あなたのニーズに最も適したソリューションを見つけてください。
最新のリソースを入手し、今後のイベントを確認しましょう。
理想的な学習リソースを見つけたり、コミュニティと交流したりして、Qtのスキルを向上させましょう。
初心者であろうとベテランのQtプロであろうと、成功するために必要なサポートと助けがすべて揃っています。
9月 24, 2024 by Qt Group 日本オフィス | Comments
Qtアプリケーションのパフォーマンスと効率性を向上させたいとお考えですか? そのためのソリューションをご用意しています。 Qt 6.8のQt Configureオプションは、そのためのものです。
Qtフレームワークの機能やモジュールを選択的に有効化または無効化できる機能により、開発者はより小さなパッケージでアプリケーションを提供でき、RAMとROMのフットプリントを削減し、より高速な起動時間を実現できます。
このブログ記事では、Raspberry Pi 4ターゲットデバイス用のQt Configureオプションのクロスコンパイルの手順を説明します。 ここで説明する手順に従うことで、アプリケーションを特定のニーズに合わせてカスタマイズし、Qt Configureオプションのメリットを直接体験することができます。
クロスコンパイルの事例として、Raspberry Pi 4 ターゲットデバイス用の Qt Configureオプションについて考えてみましょう。
1.まず、ターゲットデバイスに必要なツールチェーンを提供する Qt クロスコンパイル SDK をダウンロードします。 詳細については、Boot2Qt Raspberry Pi ページをご覧ください。 さらに、同じ方法で、対応するバージョンのホスト SDK とそのソースコードをしてください。
2.カスタマイズされた機能構成を含む qtlite_coffeemachine.txt ファイルと、ビルドターゲットのコンパイルとリンカーパラメータを定義する toolchain_rpi4.cmake ファイルをダウンロードしてください。
3.必要なモジュールと機能を使用して Qt を設定します。この例では、Coffee Machine のサンプルをコンパイルおよび実行できるようにする機能セットを利用します。
cd $HOME/Qt/6.8.0/Src |
4.最後に、SDKを$HOME/Qt/my_rpi4_sdkにビルドしてインストールします。
cmake --build . --parallel |
より詳しい説明については、Raspberry Pi 4 wikiページおよびその他のリンクやドキュメントを参照してください。
カスタマイズしたSDKをQt Creatorにインポートし、ようこそページからcoffee machineのサンプルを開きます。次に、バイナリのサイズをさらに最適化するために、以下のCMakeコマンドをメインのCMakeLists.txtに組み込みます。
set_target_properties( coffeemachine PROPERTIES QT_QMLCACHEGEN_ARGUMENTS "--only-bytecode" ) |
最後のステップでは、すべてのテキスト記号を削除します。
aarch64-linux-gnu-strip -s coffeemachine |
最終的には、ユーザーはRAMとROMの使用量の減少、および起動時間の短縮に気づくでしょう。
比較のために、標準のQt 6.8.0 Beta 4リリースを利用しました。動的ライブラリの結果は修正されていないバイナリを使用して取得し、静的ライブラリは次のconfigureコマンドで生成しました。
./configure -qt-host-path $HOME/Qt/6.8.0/gcc_64 -extprefix $HOME/Qt/6.8.0_static -release -static -skip qtapplicationmanager -qpa eglfs -- -DCMAKE_TOOLCHAIN_FILE=$HOME/toolchain_rpi4.cmake |
最適化された結果は、前章で説明したように、Qtフレームワークとアプリケーションのビルドプロセスの両方を変更することで達成されました。さらに、最適化されたアプリケーションからすべてのデバッグ情報が削除してあります。
開発者は、QML EffectsやQML Controls Fusionスタイルなどの機能を排除することで、バイナリのサイズをさらに削減することができます。Effectsを削除すると、eglfsの代わりにlinuxfbバックエンドを利用できるようになり、バイナリのサイズがさらに30%削減されます。
Qt 6.8のConfigureオプションは、開発者がアプリケーションをパフォーマンスと効率性に合わせて最適化するためのツールを提供し、要件に正確に適合することを保証します。Qtフレームワーク内の機能とコンポーネントを切り替えることで、開発者はROM使用量を最大77%削減し、RAM消費を32%削減し、起動を大幅に高速化する、より効率的なアプリケーションを作成できます。
この記事では、バイナリサイズと関連リソース消費の具体的な削減を達成するために、Qt Configureオプションを活用する方法を概説しました。さらに、グラフィックアセットとアプリケーションコード自体を最適化することで、リソース消費の改善につながります。ただし、このブログ記事で提示する測定値については、それらの要素を調整していません。アプリケーションの最適化を求める場合、Qt バイナリの構成は利用可能なオプションの 1 つです。
Raspberry Pi 4用のconfigureオプションでQtをクロスコンパイルすることは、必要なツールチェーンと構成ファイルにより、より簡単になります。Qt configureオプションの利点と、プロジェクトへの統合方法について詳しく知りたい方は、リンクとドキュメントを参照してください。
Download the latest release here: www.qt.io/download.
Qt 6.8 release focuses on technology trends like spatial computing & XR, complex data visualization in 2D & 3D, and ARM-based development for desktop.
Check out all our open positions here and follow us on Instagram to see what it's like to be #QtPeople.
10 10, 2024
本稿は「Qt Group Joins Zephyr Project to Accelerate IoT Development」の抄訳です。 Qt..
9 18, 2024
本稿は「How to optimize boot time in user space on a Raspberry Pi 4 /..
Qt Group includes The Qt Company Oy and its global subsidiaries and affiliates.