C
Qt Quick Ultralite の概要
Qt Quick Ultraliteは、Qtの主要なグラフィカルユーザーインターフェース機能を、マイクロコントローラ(MCU)を搭載したリソースに制約のある組込みシステムに提供します。流動的なGUIを構築するための豊富なQML APIセットと、Qt Quick ベースのグラフィカルユーザーインターフェース(GUI)をレンダリングするための効率的なグラフィックエンジンを提供します。
Qt Quick Ultraliteは、メモリフットプリントやCPUサイクルなど、MCUプラットフォームのリソース制約を意識しています。Ultraliteは、MCUプラットフォームで利用可能なリソースで、アプリケーションを最適に動作させます。
主な機能
| 表示 | テキスト |
|
|
| コントロール | エフェクト |
|
|
| スタイル | 入力 |
|
|
| 2Dドローイング | ツール |
|
|
| 画像 | 対応プラットフォーム |
|
|
| ポジショニングとロケーション | その他 |
|
|
最小ハードウェア要件
Qt Quick Ultraliteには、一般的なMCUプラットフォームの評価キット用プラットフォーム実装セットが含まれています。これらのプラットフォームのリストについては、サポートされるターゲットボードと開発ホストを参照してください。
Qt Quick Ultraliteは、ディスプレイ駆動が可能で、以下の要件を満たす最新のMCUプラットフォームであれば、どのようなものにも適合させることができます:
- マイクロコントローラ/プロセッサ:Cortex M4、M33、またはそれ以上。浮動小数点ユニット(FPU)はオプションですが、性能を大幅に向上させます。
- RAM(内部/外部):
- スタティック RAM:最小限のアプリケーションでは 20 Kb、一般的なアプリケーションでは 200 Kb 以上。
- スタック:2~12Kb。
- ヒープ:20Kb
また、ディスプレイサイズ、色深度、フレームバッファ戦略(シングルバッファリングまたはダブルバッファリング)に応じて、フレームバッファ用に十分なRAMが必要です。
- フラッシュ/ROM:500KB以上。
- GPU/ハードウェア・アクセラレーションはオプションですが、アニメーションで20FPS以上のフレームレートを実現するには必須です。
- ディスプレイ・インターフェース高解像度およびフレームレート用のRGB、MIPI-DSI、またはLVDS 低解像度および/または低フレームレート用のSPI、またはパラレル。
- Qt Quick Ultralite がサポートするpixel formats のいずれかをサポートするグラフィックドライバ。
注: 得られる最大解像度とフレームレートは、ディスプレイインターフェースによって異なります。
ハードウェアアクセラレーション
Qt Quick Ultraliteは、ハードウェアアクセラレーションをサポートするプラットフォーム上で、ハードウェアアクセラレーションを使用します。20fps以上のフレームレートでアニメーションを実行するにはハードウェアアクセラレーションが理想的ですが、厳密な要件ではありません。
以下のグラフィック操作は、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~250Kb
- 中解像度と色深度:少なくとも400~700Kb
- 高解像度と色深度:2 Mb以上
Qt Quick UltraliteアプリケーションのFlashまたはROMの使用量は、使用する画像やフォントの数によって異なります。通常は500Kbから10MbのFlashまたは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タイプセットの違いを説明し、効率的に使い分けるための 手助けをします: