씬 그래프 - 스레드 기반 애니메이션

Qt Quick 의 스레드 기반 렌더 루프를 사용하면서, 사용자 정의 항목이 메인 스레드와 독립적으로 애니메이션되는 이점을 보여줍니다.

‘Blocked’ 버튼을 사용한 메인 스레드와 씬 그래프 스레드의 애니메이션을 비교하는 두 가지 스피너 애니메이션

이 예제는 메인 스레드에서 구동되는 표준 Qt Quick 애니메이션 프레임워크에 의존하지 않고 효과적으로 자체 애니메이션을 수행하는 사용자 정의 항목을 구현함으로써, Animator 타입의 기본 개념을 보여줍니다.

정상적인 조건에서는 왼쪽과 오른쪽 스피너가 똑같이 동작해야 합니다. 하지만 예제에서 무거운 작업을 수행하여 메인 스레드를 차단하면, 왼쪽 스피너가 더 이상 부드럽게 애니메이션되지 않는 것을 확인할 수 있습니다.

참고: 이 예제는 ` Qt Quick`의 ` threaded ` 렌더링 루프를 사용하여 실행해야 합니다. 이는 대부분의 경우 기본 설정입니다. ` basic ` 렌더링 루프를 사용해도 긍정적인 효과는 없습니다. 이 루프에서는 모든 렌더링을 포함한 모든 작업이 메인 스레드에서 처리되기 때문입니다.

사용자 정의 QQuickItem 구현이 없는 애플리케이션은 QML의 XAnimator 또는 OpacityAnimator 와 같은 Animator 유형 중 하나를 사용하여 동일한 이점을 얻을 수 있습니다. 반면 사용자 정의 항목을 구축할 때는 이 예제의 구현 방식을 따름으로써 유사한 결과를 얻을 수 있습니다.

예제 프로젝트 @ code.qt.io

Qt Quick 의 Scene Graph항목도 참조하십시오 .

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