このページでは

本番品質

UIで本番品質のモーションを実現する方法:

  • UIをプレビューしてFPS(フレームレート)を確認します。
  • UIコードのプロファイリングを行い、動作の遅延、応答の遅れ、カクつきの原因を特定します。

FPSリフレッシュレート

一般的なルールとして、アニメーターはレンダリングエンジンが 60 フレーム/秒 (FPS) という一貫したリフレッシュレートを達成できるよう努めます。60 FPS とは、各フレーム間に約 16 ミリ秒の処理時間が確保されることを意味し、これには描画プリミティブをグラフィックスハードウェアにアップロードするために必要な処理も含まれます。

アニメーションのフレームレート(FPS)は、Design モードのツールバーにある「FPS 」フィールドに表示されます。

FPSを向上させるために、アプリケーション開発者は以下の点に留意する必要があります。

  • 可能な限り、非同期かつイベント駆動型のプログラミングを採用する。
  • 大規模な処理にはワーカースレッドを使用する。
  • イベントループを手動でスピンさせてはなりません。
  • ユーザー体験に悪影響を及ぼすフレームのスキップを防ぐため、ブロッキング関数内での1フレームあたりの処理時間は、数ミリ秒以内に抑えること。

デバイス上での UI のプレビューに関する詳細については、「デバイス上でのQt Quick UI のプレビュー」を参照してください。

UI コードのプロファイリング

xml-ph-0000@deepl.internal に統合されている QML ProfilerQt Creator に統合されているプロファイリング機能を使用して、UI で発生する典型的なパフォーマンス問題の原因を特定できます。たとえば、UI の動作が遅かったり、応答しなくなったり、カクついたりする場合があります。通常、このような問題は、少なすぎるフレーム数で過剰な JavaScript が実行されることによって引き起こされます。GUI スレッドが処理を続行するには、すべての JavaScript が完了している必要があり、GUI スレッドの準備が整っていない場合、フレームは遅延またはドロップされます。

一般的に、UI 内でどこに時間が費やされているかを把握することで、潜在的に存在する問題領域ではなく、実際に存在する問題領域に焦点を当てることができます。

どのバインディングが最も頻繁に実行されているか、あるいはアプリケーションがどの関数に最も多くの時間を費やしているかを特定することで、問題のある箇所を最適化すべきか、それともパフォーマンスを向上させるためにアプリケーションの実装の詳細を再設計すべきかを判断できます。プロファイリングを行わずにコードの最適化を試みても、大幅なパフォーマンス向上にはつながりにくく、ごくわずかな改善にとどまる可能性が高いです。

Qt Quick UIの設計方法」、「 Qt Quick UIの設計、「 Qt Quick UIの設計」、および「QMLアプリケーションのプロファイリングも参照してください

Copyright © The Qt Company Ltd. and other contributors. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.