このページでは

C

アプリケーションのパフォーマンス

アプリケーションのパフォーマンスには、マイナスにもプラスにも影響するいくつかの側面があります。以下のセクションでは、これらの側面のいくつかがどのようにパフォーマンスに影響するか、また、それらを制御する方法について説明します。

フレームバッファ戦略の選択

Qt Quick Ultraliteはシングルとダブルのバッファリング戦略をサポートし、メモリ使用量より優れたパフォーマンスの選択を提供します。シングルバッファ戦略はより少ないメモリを使用しますが、パフォーマンスのオーバーヘッドを伴うことがあります。

詳しくはフレームバッファリング戦略をご覧ください。

フォントエンジンの選択

Qt Quick Ultralite には 2 つのフォントエンジンオプションがあります:Monotype Spark フォントエンジンと Static フォントエンジンです。

Monotype フォントエンジン

  • さまざまな文字を使用する国際化されたアプリケーションをよりよくサポートします。
  • 正しいレイアウトを確保するためにテキストのシェーピングが必要な言語のサポートが向上。
  • パフォーマンスとテキストの品質を損なうことなく、テキストのスケーリングをランタイムでサポート。

静的フォントエンジン

  • 複雑なテキストを使用しないアプリケーションをより良くサポートし、フットプリントが小さい。
  • 静的な事前計算データで動作するため、非常に高速なルックアップ操作が可能。
  • ビルド時にフォントを処理するため、ランタイムオーバーヘッドが発生しません。

2つのフォントエンジンの詳細な比較については、機能比較表を参照してください。

ベンチマークモードの使用

アプリケーションで Benchmark モードを使用すると、アプリケーションの実行時にいくつかの主要なパフォーマンス・メトリクスを測定できます。

Benchmarkモードでは、以下のメトリクスを収集できます:

パラメータパラメータ 説明
1合計フレーム数記録間隔内の総フレーム数。
2平均FPS記録インターバル中に測定された1秒あたりの平均フレーム数。
3最小FPS録画中にキャプチャされた1秒あたりの最小フレーム数。
4最大ヒープ使用量アプリケーションが起動してから記録された最大ヒープ使用量(バイト)。
5最大スタック使用量アプリケーション起動時から記録されている最大スタック使用量(バイト)。
6平均CPU負荷記録間隔を平均したパーセンテージでの CPU 負荷。

Benchmark モードでは、指定された時間アプリケーションを実行し、このインターバルの 終了時に結果を表示します。

ベンチマーク・モードでは、QulPerf QML タイプを使用して、パフォーマンス・メトリクスの記録の開始と停止を行います。

詳細については、Qt Quick Ultralite Thermostat DemoおよびQt Quick Ultralite Automotive Cluster Demo を参照してください。これらのデモでは、QulPerf タイプを使用してメトリックスを収集します。

キャッシュの使用

画像やテキストをキャッシュすることで、アプリケーションのパフォーマンスを向上させることができます。

画像のキャッシュ

ImageFiles.MCU.resourceCachePolicyQmlProject プロパティを使用して、画像リソースのキャッシュ・ポリシーを選択します。

  • デフォルトでは、すべてのイメージは起動時にフラッシュからRAMにロードされます。
  • MCU.Config.maxResourceCacheSizeでリソース・キャッシュ・サイズを設定します。
  • MCU.ConfigノードのImageFiles.MCU. resourceCachePolicyリソース・プロパティを、個々の画像リソースまたはすべての画像に対してOnDemand
  • ImageFiles.MCU.resourceCachePolicyを NoCaching に設定してキャッシュを無効にし、リソースをフラッシュに保持します。これには、レンダリング・パフォーマンスに若干のコストがかかる可能性があります。

注意: ImageFiles.filesQmlProject プロパティを使用して画像ファイルをアプリケーションに追加する前に、ソースファイルのプロパティを設定する必要があります。

フォントキャッシュのプライミング

アプリケーションで多くのテキストを使用すると、起動時間に大きく影響します。このような場合、ビルド時にフォントキャッシュを投入することで、起動時間を改善することができます。

注: キャッシュのプライミングは Monotype Spark フォントエンジンのみがサポートしています。

詳細については、キャッシュプライミングを参照してください。

テキストキャッシュ

Qt Quick Ultralite アプリケーションのテキストキャッシュを有効にすると、テキストレンダリングのパフォーマンスが向上します。テキストキャッシュを有効にすると、各テキスト要素のピクセルデータがキャッシュされ、描画エンジンの呼び出し回数が減ります。

テキストキャッシュ機能の詳細と有効化方法については、テキストキャッシュのセクションを参照してください。

グリフレイアウトのキャッシュ

詳細については、MCU.Config.glyphsLayoutCacheSizeを参照してください。

ハードウェアレイヤーの使用

ハードウェアレイヤーをサポートするMCUプラットフォームでは、多数のフレームバッファを使用し、これらのフレームバッファをブレンドして最終画像を表示することによって、Qt Quick Ultraliteアプリケーションのパフォーマンスを向上させることができます。ハードウェアレイヤーを使用すると、メモリフットプリントとレンダリング時間が短縮されます。

ハードウェアレイヤーの使用法の詳細については、ハードウェアレイヤーを使用してパフォーマンスを向上させるを参照してください。


詳細はこちらをご覧ください。