シーングラフ - スレッドアニメーション

Qt Quick のスレッドレンダーループを使用しながら、メインスレッドから独立してアニメーションするカスタムアイテムの利点を示します。

この例では、メイン スレッドで駆動される標準のQt Quick アニメーション フレームワークに依存せず、それ自体を効果的にアニメーションさせるカスタム アイテムを実装することで、Animator タイプの基本的なコンセプトを示しています。

左と右のスピナーは、通常の状態では同じように動作するはずです。しかし、この例題が何らかの重い処理を実行することでメインスレッドをブロックすると、左のスピナーがスムーズにアニメーションしなくなることに気づくでしょう。

注意: このサンプルは、Qt Quickthreaded レンダー・ループで実行する必要があります。 これはほとんどの場合、デフォルトです。basic のレンダリングループを使っても、レンダリングを含むすべてがメインスレッドで行われるため、プラスの効果はありません。

カスタムQQuickItem の実装がないアプリケーションでも、QMLのXAnimatorOpacityAnimator などのAnimator タイプのいずれかを使用することで、同じメリットを得ることができます。一方、カスタムアイテムを作成する場合は、例の実装に従うことで同様の結果を得ることができます。

サンプルプロジェクト @ code.qt.io

Qt Quick Scene Graphも参照して ください。

© 2025 The Qt Company Ltd. 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.