C
Qt Quick Ultraliteの概要
Qt Quick Ultraliteは、マイクロコントローラ(MCU)を搭載したリソースに制約のある組み込みシステムに、Qtの主要なグラフィカルユーザーインターフェース(GUI)機能をもたらします。滑らかなGUIを構築するための豊富なQml APIセットと、Qt Quick ベースのグラフィカルユーザーインターフェース(GUI)をレンダリングするための効率的なグラフィックスエンジンを提供します。
Qt Quick Ultraliteは、メモリフットプリントやCPUサイクルなど、MCUプラットフォームにおけるリソースの制約を認識しています。これにより、これらのMCUプラットフォームで利用可能なリソースの範囲内で、アプリケーションが最適なパフォーマンスを発揮できるようになります。
主な機能
| 表示 | テキスト |
|
|
| コントロール | エフェクト |
|
|
| スタイル | 入力 |
|
|
| 2D描画 | ツール |
|
|
| 画像 | プラットフォームのサポート |
|
|
| 測位および位置情報 | その他 |
|
|
最小ハードウェア要件
Qt Quick Ultralite には、一般的な MCU プラットフォームの評価キット向けの一連のプラットフォーム実装が含まれています。これらのプラットフォームの一覧については、「サポートされているターゲットボードおよび開発用ホスト」を参照してください。
Qt Quick Ultraliteは、ディスプレイを駆動でき、かつ以下の要件を満たすあらゆる最新のMCUプラットフォームに適合させることができます。
- マイクロコントローラ/プロセッサ:Cortex M4、M33、またはそれ以上。浮動小数点演算ユニット(FPU)はオプションですが、FPUを搭載することでパフォーマンスが大幅に向上します。
- RAM(内部/外部):
- スタティックRAM:最小限のアプリケーションでは20 Kb、一般的なアプリケーションでは200 Kb以上。
- スタック:2~12 Kb。
- ヒープ:20 Kb。
また、ディスプレイのサイズ、色深度、およびフレームバッファの方式(シングルバッファまたはダブルバッファ)に応じて、フレームバッファ用に十分なRAMも必要です。
- フラッシュ/ROM:500 KB 以上。
- GPU/ハードウェアアクセラレーションはオプションですが、アニメーションで 20 FPS 以上のフレームレートを実現するには必須です。
- ディスプレイインターフェース:高解像度および高フレームレートの場合は RGB、MIPI-DSI、または LVDS、低解像度および/または低フレームレートの場合は SPI またはパラレル。
- Qt Quick Ultralite がサポートするpixel formats のいずれかをサポートするグラフィックスドライバ。
注: 得られる最大解像度とフレームレートは 、ディスプレイインターフェースによって異なります。
ハードウェアアクセラレーション
Qt Quick Ultralite は、ハードウェアアクセラレーションをサポートするプラットフォームではそれを使用し、サポートしていない場合は CPU フォールバックを使用してグラフィックスをレンダリングします。20 fps 以上のフレームレートでアニメーションを実行するにはハードウェアアクセラレーションが理想的ですが、これは厳密な要件ではありません。
MCUプラットフォームに応じて、以下のグラフィック処理がハードウェアアクセラレーションの対象となります:
- 画像の描画
- テキストの描画
- 矩形の描画
- 2Dパスの描画
- 画像、テキスト、矩形、パスに対する2Dおよび2.5D変換
- ブレンディング(画像、テキスト、矩形、パス、レイヤー)
- ランレングス符号化(RLE)画像の復号
Qt Quick Ultraliteには、以下のドライバ向けのハードウェアアクセラレーション対応グラフィックス実装が付属しています:
- CyGfx (Infineon Traveo T2G)
- DaveHD (Renesas RH850)
- PxP (NXP i.MX RT)
- VGLite (NXP i.MX RT1170)
- Chrom-ART (STM32)
メモリ使用量
RAM の使用量は、ディスプレイのサイズと色深度、使用されるQt Quick Ultralite の機能、およびアプリケーション内の GUI 要素の数によって異なります。
一般的なアプリケーションのメモリ使用量は、使用する解像度と色深度の組み合わせに応じて、以下のようになります:
- 低解像度および低色深度:少なくとも 150~250 Kb
- 中程度の解像度および色深度:少なくとも400~700 Kb
- 高解像度および高色深度:2 Mb以上
Qt Quick Ultralite アプリケーションのフラッシュメモリまたは ROM の使用量は、使用する画像やフォントの数によって異なります。通常、500 Kb から 10 Mb のフラッシュメモリまたは ROM で十分です。
注: Qt Quick Ultraliteでは、メモリ使用量を削減するのに役立つさまざまなフレームバッファリング技術が提供されています。たとえば、部分フレームバッファリングを使用すると、RAMの消費量を少なくとも10%削減できます。
互換性Qt Quick
バージョン1.3以降、Qt Quick Ultralite が提供するQMLサブセットは、 Qt Quickとソース互換性があります。これにより、Qt Quick を使用してQt for MCUs アプリケーションを実行することが可能になります。また、Qt Quick 、Qt Quick Controls 、またはQt Quick Timeline に基づく既存のコードを、Qt for MCUs アプリケーションで再利用できることも意味します。
Qt Quick のUltraliteコードのほとんどはQt Quick でも動作しますが、注意すべき制限がいくつかあります。以下のトピックでは、これら2つのQMLタイプセットの違いについて解説し、それらを効率的に活用するためのヒントを提供します:
特定のQtライセンスの下で利用可能です。
詳細はこちら。