クロスプラットフォームライブラリとAPI
Qt Creator IDEと生産性向上ツール
UI compositionのためのUIデザインツール
Qtプロジェクト向け
モバイルアプリのデジタル広告
受託開発、トレーニング、サポート等
組み込み向けユーセージ分析
Qtは、UIデザインやソフトウェア開発から品質保証、展開に至るまで、製品開発ライフサイクル全体で生産性を向上させます。あなたのニーズに最も適したソリューションを見つけてください。
最新のリソースを入手し、今後のイベントを確認しましょう。
理想的な学習リソースを見つけたり、コミュニティと交流したりして、Qtのスキルを向上させましょう。
初心者であろうとベテランのQtプロであろうと、成功するために必要なサポートと助けがすべて揃っています。
4月 25, 2017 by 鈴木 佑 | Comments
この記事は The Qt Blog の Fast-Booting Qt Devices, Part 2: Optimizing Qt Application を翻訳したものです。
執筆: Risto Avila, 2016年4月27日
先日の記事 では i.MX6 ボード上で2秒で起動する高速起動デモの紹介をしました。今回の記事では Qt QML のクラスタアプリケーションをどのように最適化したのかをカバーしたいと思います。
Qt World Summit 2015 で展示した当初のデモは PC 環境で設計され、起動時間についてはそもそも考慮されていませんでした。Loader を利用して UI のパーツを非同期にロードするような設計にはなっていましたが、起動シーケンスについてはまったく間が得られていませんでした。最適化の初めの一歩として、ユースケースについて考える必要がありました。「はじめにユーザーに見てもらいたいものはなにか?」を検討した結果、一番初めは計器類の外枠を表示し、その後で画面に表示する他のものをロードするということにしました。
以下の画像で赤いオーバーレイの部分がアプリケーションの起動直後にユーザーが目にするエリアになります。
アプリケーションのソースコードを見てみると、ダッシュボードは複数のマスク画像で、その中のいくつかは画面と同じ大きさでした。そのためこれをすべて結合し、1つのフルスクリーンの画像にし、UI の最前面に表示させるようにしました。
アプリケーションの起動を一秒でも速くするために、アプリケーションの内部構造も色々見直しました。ダッシュボードのフレームを1つの QML ファイルにまとめ、一番最初にロードするようにしました。この外枠がロードされ描画されたあとで、UI の他の部分をロードするためのローダーを有効にするようにしました。
実際にどういった処理に時間がかかっているかを調べるために、Qt Creator の QML プロファイラも活用しました。元々このデモではデスクトップアプリ向けに開発されていた Qt Quick Controls を利用していて、これによって余計に時間がかかっていた部分がありました。(余談ですが、Qt Quick Controls は組み込み向けに 設計が見直されたものが Qt 5.7 に追加 されます。)これを解決するためにゲージの部分を画像ファイルとアニメーションが必要なゲージの一部の色を変更するようなフラグメントシェーダーで置き換えました。
最後に、フリップアニメーションをゲージに対して追加し、車にフェードインの効果を追加し、起動の流れをより自然なものにしました。
https://youtu.be/Nm_LT1prTR8
これらの最適化の結果、ターゲットデバイス上で、Qt アプリケーションの最初のフレームが 300 ミリ秒で表示できるようになりました。
というわけで、自分たちの経験を元に Qt Quick アプリケーションの最適化についてまとめてみました。これを試しても目標が達成できない場合は、弊社、もしくは弊社のパートナー まで連絡いただければ喜んでお手伝いいたします。
すべきこと:
避けるべきこと:
次のパートではオペレーティングシステムまわりの起動時間の最適化似ついてです。お楽しみに!
Download the latest release here: www.qt.io/download.
Qt 6.6. is a feature release with focus on improving UX capabilities including responsive UI technology and the Qt Graph module.
Check out all our open positions here and follow us on Instagram to see what it's like to be #QtPeople.
2 16, 2024
QtのKTX画像処理において、最近報告されたバッファオーバーフローの可能性のある問題がCVE ID..
12 31, 2023
Qt 6.7 Beta 1がリリースされ、Qtオンラインインストーラから入手可能になりました。さらに、商用ユーザー向けにはQt Account..
10 22, 2023
無効なQMLイメージのソースをロードする際の問題が報告され、CVE ID CVE-2023-45872が割り当てられました。..
Qt Group includes The Qt Company Oy and its global subsidiaries and affiliates.