シーングラフ - スレッド化されたアニメーション

Qt Quick のスレッド化されたレンダリングループを使用しつつ、カスタムアイテムがメインスレッドとは独立してアニメーションする利点を示します。

「ブロック中」ボタンを使用した、メインスレッドとシーングラフスレッドのアニメーションを比較した2つのスピナーアニメーション

この例では、メインスレッド上で動作する標準のQt Quick アニメーションフレームワークに依存せず、効果的に自身をアニメーションさせるカスタムアイテムを実装することで、Animator の型に込められた基本的な概念を示しています。

通常時、左右のスピナーは同じように動作するはずです。しかし、このサンプルで負荷の高い処理を実行してメインスレッドをブロックすると、左側のスピナーのアニメーションが滑らかでなくなっていることが目立つようになります。

注:この サンプルは 、Qt Quick のthreaded レンダリングループで実行する必要があります。これはほとんどの場合、デフォルトの設定です。basic レンダリングループを使用しても、レンダリングを含むすべての処理がメインスレッド上で行われるため、メリットはありません。

カスタムQQuickItem 実装を持たないアプリケーションでも、QMLのXAnimator やOpacityAnimator など、Animator の型を使用することで同様のメリットを得ることができます。一方、カスタムアイテムを構築する場合は、この例の実施例に従うことで同様の結果を得ることができます。

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

「Qt Quick シーングラフ」も参照してください 。

© 2026 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.