Qtブログ(日本語)

Qt for MCUs 2.5 LTS リリース

作成者: Qt Group 日本オフィス|Jun 20, 2023 9:51:50 AM

本稿は「Qt for MCUs 2.5 LTS released」の抄訳です。

Qt for MCUs 2.5 LTS のリリースをお知らせします。これは、安定した堅牢な長期サポートリリースを提供し、お客様の開発およびメンテナンスコストの削減に貢献する、という当社の約束に沿っています。

このリリースでは、新機能と改良を加え、今まで通り新しいマイクロコントローラーをサポートします。変更点の完全なリストについては、変更履歴をご覧ください。このリリースの主要部分を本記事に掲載します。

ベクターグラフィックスの全プラットフォーム対応

QtQuick Ultralite Shapes がすべてのプラットフォームでサポートされるようになりました。以前は、Shapes モジュールは、Infineon Traveo II や NXP i.MX RT1170 などのハードウェア ベクトル グラフィックス アクセラレーションを備えたプラットフォームに限定されていました。現在では、すべての Qt Quick Ultralite プラットフォームのポートで、ハードウェアアクセラレーションが利用できない場合のフォールバック実装であるソフトウェアバックエンドを使用してこの機能を有効にします。

与えられたシェイプの表現をラスタライズされた画像ではなく、2Dパスのセットとして保存することで、ランタイムパフォーマンス(フレームレート)が低下する代わりに、フラッシュ使用量を大幅に削減できる場合があります。 また、シェイプはQt Quick Ultraliteにカスタム描画機能を追加し、曲線のプログレスバー、曲線の道路、スマートウォッチのような丸いディスプレイに適応した描画要素などの使用例に適した、より汎用性の高いものとなっています。

Shapesの将来のバージョンでは、グラデーション塗りのサポートやその他の描画性能の向上が予定されています。 

パフォーマンスとメモリーフットプリントの改善

新機能の導入には、常にパフォーマンス低下のリスクが伴います。各リリースでより少ないバイト数でより多くのフレーム/秒(FPS)を提供するために、常にパフォーマンスの改善に取り組んでいます。

パフォーマンス改善

このリリースでは、コアフレームワークのエラー処理メカニズムを改善し、クリティカルパスのオーバーヘッドを削減した結果、いくつかのリファレンスデモでフレームレートを10%向上させることができました。 

テキストキャッシュのパフォーマンスが最適化され、個々のアルファマップを効率的にブレンドできるようになり、標準的なtextcacheテストでフレームレートが20%向上しました。

画像シーケンスの改善

AnimatedSprite 型は、性能面でも機能面でもいくつかの点で改良されており、以下はそのハイライトです。

再生コントロール: シーケンスの再生に関する制御を強化し、再生シーケンスの一時停止と再開の機能を導入しました。AnimatedSpritepaused booleanプロパティが追加され、ユーザーは現在の再生状態を知ることができ、現在のフレームを手動で変更することができるようになりました。

フラッシュフットプリントの削減: あるシーケンス内の同一フレームがFlashで重複することがなくなりました。シーケンスの各参照に対して1つの実体が保存され、再利用されます。

パフォーマンスの最適化新しいリソースプロパティでは、与えられた画像シーケンスに使用する最適化方法を選択することができ、デバイスとアプリケーションの特性に基づいて、パフォーマンスとメモリフットプリントの間の最適なトレードオフを見つける柔軟性を提供します。

次回のリリースでは、ローエンドのMCUでも大量のフレームを必要とする複雑なアニメーションやシーケンスを実行できるように、画像シーケンスで使用できる最適化を性能とROMサイズの面で改善する予定です。

新しいプラットフォーム!

Qt for MCUs は、FreeRTOS を実行する S3-Box キットに加えて、ESP32-S3-Korvo-2 をサポートしました。このプラットフォームでは、Qt for MCUs は専用のグラフィックアクセラレータを持たない MCU で堅牢なパフォーマンスを実現します。これらのプラットフォームのポートにアクセスするには、Qt Group にご連絡ください。

 

NXP 1060 EVKB の新バージョンがリファレンスとしてサポートされ、オンラインインストーラまたはメンテナンスツールからアクセスできるようになりました。旧バージョンの評価キットは、2.4までしかサポートされていません。

さらに更新!

幅広い組込みコンパイラとレガシーデバイスの互換性をサポートするため、Qt for MCUs は C++03 標準に完全準拠しました。これにより、特定のプラットフォームに対してBSPベンダーが認定している古いバージョンのコンパイラを使用することができます。

qmlprojectexporterツールは、与えられたQMLプロジェクトから異なるビルドシステムやIDE用のベースプロジェクトを生成する新機能を強化し、お気に入りのホスト開発環境を簡単にセットアップできるようになりました。現在はCMakeとGHS MULTI IDEをサポートしていますが、今後のリリースでより多くの組み込みIDEをサポートする予定です。

Renesas RH850/D1M1Aリファレンスポートが、LVDSディスプレイ出力に対応しました。カスタムディスプレイを簡単に設定できるように、ドキュメントと説明書が更新されています。

MCU SDK 更新

  • すべてのSTM32リファレンスポートは、最新バージョンのSTM32Cube SDKをサポートするように更新されました。
  • NXPリファレンス・ポートは、NXP MCUXpresso SDK 2.13をサポートするようになりました。
  • Infineon Traveo IIリファレンス・ポートは、4Mおよび6Mバリアント用のInfineon Graphics Driver v1.21およびv2.1.0と互換性を持つようになりました。
  • Renesas RH850/D1M1AリファレンスポートがRGL v2.1をサポートしました。

機能一覧は、リリースの変更履歴をご覧ください。

今後の展開

次の機能リリースは 11 月の Qt for MCUs 2.6 で、マイクロコントローラ上でより多くの Qt 設計・開発ワークフローを実現するための取り組みが継続される予定です。

ターゲットデバイス上で動作するアプリケーションのベンチマークデータを簡単に収集し可視化するための新しいパフォーマンスAPI、アプリケーション内のグラフィック資産のサイズを簡単に推定するツール、組み込みファイルシステムに保存されたグラフィック資産の読み込みのサポート、AUTOSAR環境でのQt for MCUsアプリケーション開発のためのツール、その他多くのものを紹介する予定です!

Qt for MCUs 2.5 LTSを今すぐ入手しましょう!

Qt for MCUsを既に開発されている方は、Qt for MCUsのインストールディレクトリのルートにあるQt Maintenance ToolからQt for MCUs 2.5 LTSをダウンロードできます。Qt for MCUsを初めてお使いになる方は、こちらをクリックしてください。どちらの方法でも、新機能や改良点をお楽しみいただければ幸いです。また、いつものように、コメント欄でご意見、機能要望をお聞かせください。