C
アプリケーションのパフォーマンス
アプリケーションのパフォーマンスに、プラスまたはマイナスの影響を与える要因はいくつか考えられます。以下のセクションでは、これらの要因のいくつかがパフォーマンスにどのような影響を与えるか、およびそれらを制御する方法について解説します。
フレームバッファ戦略の選択
Qt Quick Ultraliteはシングルバッファ戦略とダブルバッファ戦略の両方をサポートしており、メモリ使用量とパフォーマンスのバランスを調整できます。シングルバッファ戦略はメモリ使用量が少ない反面、パフォーマンスのオーバーヘッドが生じる可能性があります。一方、ダブルバッファ戦略はメモリ使用量が多くなりますが、より高いパフォーマンスが得られます。
詳細については、「フレームバッファ戦略」を参照してください。
フォントエンジンの選択
Qt Quick Ultralite には、Monotype Spark フォントエンジンと Static フォントエンジンの 2 つのフォントエンジンオプションが用意されています。
Monotype フォントエンジン
- 幅広い文字を使用する国際化アプリケーションに対するサポートが強化されています。
- 正しいレイアウトを確保するためにテキストシェーピングを必要とする言語に対するサポートが強化されています。
- パフォーマンスやテキストの品質を損なうことなく、テキストのスケーリングをランタイムでサポートします。
Static フォントエンジン
- 複雑なテキストを使用せず、フットプリントが小さいアプリケーションへの対応が強化されています。
- 静的な事前計算済みデータを処理するため、非常に高速な検索操作が可能です。
- ビルド時にフォントを処理するため、実行時のオーバーヘッドが発生しません。
2つのフォントエンジンの詳細な比較については、「機能比較表」を参照してください。
ベンチマークモードの使用
アプリケーション内でベンチマークモードを使用すると、アプリケーションの実行中にいくつかの主要なパフォーマンス指標を測定できます。
ベンチマークモードでは、以下のメトリクスを収集できます。
| パラメータ | 説明 | |
|---|---|---|
| 1 | 総フレーム数 | 記録間隔内のフレームの総数。 |
| 2 | 平均FPS | 録画期間中に測定された1秒あたりの平均フレーム数。 |
| 3 | 最小FPS | 録画中に記録された1秒あたりのフレーム数の最小値。 |
| 4 | 最大ヒープ使用量 | アプリケーションの起動以降に記録された、最大ヒープ使用量(バイト単位)。 |
| 5 | スタック使用量の最大値 | アプリケーションの起動以降に記録されたスタックの最大使用量(バイト単位)。 |
| 6 | 平均CPU負荷 | 記録期間中の平均CPU負荷(パーセンテージ値)。 |
ベンチマークモードでは、アプリケーションを指定した時間実行し、その間隔の終了時に結果を表示します。
ベンチマークモードでは、QulPerf QML タイプを使用して、パフォーマンスメトリクスの記録を開始および停止します。
詳細については、QulPerf タイプを使用してメトリクスを収集する「Qt Quick Ultralite Thermostat Demo」および「Qt Quick Ultralite Automotive Cluster Demo」を参照してください。
キャッシュの使用
画像やテキストをキャッシュすることで、アプリケーションのパフォーマンスを向上させることができます。
画像のキャッシュ
ImageFiles.MCU.resourceCachePolicyQmlProject プロパティを使用して、画像リソースのキャッシュポリシーを選択します。
- デフォルトでは、起動時にすべての画像がフラッシュから RAM に読み込まれます
- MCU.Config.maxResourceCacheSizeを使用して、リソースキャッシュのサイズを設定します。
- 個々の画像リソースについてはImageFiles.MCU.resourceCachePolicyリソースプロパティを
OnDemandに設定し、すべての画像についてはMCU.Configノード内のImageFiles.MCU.resourceCachePolicyを使用して設定します。 - リソースをフラッシュに保持するには、ImageFiles.MCU.resourceCachePolicy を`
NoCaching` に設定してキャッシュを無効にしてください。これにより、レンダリングパフォーマンスに多少の低下が生じる可能性があります
注: ImageFiles.filesQmlProject プロパティを使用してアプリケーションに画像ファイルを追加する前に、ソースファイルのプロパティを設定する必要があります 。
フォントキャッシュの初期化
アプリケーションで大量のテキストを使用すると、起動時間に大きな影響が出ます。そのような場合、ビルド時にフォントキャッシュを初期化することで、起動時間を短縮できます。
注:キャッシュの 初期化は、Monotype Spark フォントエンジンでのみサポートされています。
詳細については、「キャッシュのプリミング」を参照してください。
テキストのキャッシュ
Qt Quick Ultralite アプリケーションでテキストキャッシュを有効にすることで、テキストのレンダリングパフォーマンスを向上させることができます。テキストキャッシュを有効にすると、各テキスト要素のピクセルデータがキャッシュされ、描画エンジンへの呼び出し回数が削減されます。
テキストキャッシュ機能の詳細および有効化方法については、「テキストキャッシュ」のセクションを参照してください。
グリフレイアウトのキャッシュ
詳細については、MCU.Config.glyphsLayoutCacheSize を参照してください。
ハードウェアレイヤーの使用
ハードウェアレイヤーをサポートするMCUプラットフォームでは、複数のフレームバッファを使用し、それらを合成して最終的な画像を表示することで、Qt Quick Ultraliteアプリケーションのパフォーマンスを向上させることができます。ハードウェアレイヤーを使用することで、メモリ使用量とレンダリング時間を削減できます。
ハードウェアレイヤーの使用に関する詳細については、「ハードウェアレイヤーを使用したパフォーマンスの向上」を参照してください。
特定のQtライセンスの下で利用可能です。
詳細はこちら。