Qt3DRender::QWaitFence Class
class Qt3DRender::QWaitFenceFrameGraphNode 예전에는 그래픽 명령 스트림의 펜스가 신호를 보내기를 기다리곤 했습니다. 더 보기...
| 헤더: | #include <qwaitfence.h> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS 3drender) target_link_libraries(mytarget PRIVATE Qt6::3drender) |
| qmake: | QT += 3drender |
| 상속: | Qt3DRender::QFrameGraphNode |
| 상태: | 사용 중단됨 |
이 클래스는 더 이상 사용되지 않습니다. 새로운 코드에서는 이 클래스를 사용하지 않는 것을 강력히 권장합니다.
속성
- handle : QVariant
- handleType : HandleType
- timeout : quint64
- waitOnCPU : bool
공개 함수
| QVariant | handle() const |
| Qt3DRender::QWaitFence::HandleType | handleType() const |
| void | setHandle(QVariant handle) |
| void | setHandleType(Qt3DRender::QWaitFence::HandleType type) |
| void | setTimeout(quint64 timeout) |
| void | setWaitOnCPU(bool waitOnCPU) |
| quint64 | timeout() const |
| bool | waitOnCPU() const |
신호
| void | handleChanged(QVariant handle) |
| void | handleTypeChanged(Qt3DRender::QWaitFence::HandleType handleType) |
| void | timeoutChanged(quint64 timeoutChanged) |
| void | waitOnCPUChanged(bool waitOnCPU) |
상세 설명
펜스(Fence)는 GPU와 CPU의 작업 부하를 동기화할 수 있게 해줍니다. GPU 명령어는 대개 비차단 방식입니다. 명령어가 발행되면 명령어 버퍼에 삽입되며, 이 버퍼는 나중에 GPU에 의해 읽힙니다. 경우에 따라, 하드웨어에서 명령어가 실행되었음을 확실히 확인한 후에만 처리를 계속하거나 특정 명령어를 발행하고자 할 수 있습니다. 펜스는 이를 구현하는 방법입니다. 이는 Qt3D와 타사 엔진을 함께 사용할 때 특히 중요합니다. Qt3D는 다른 엔진 명령어가 리소스 수정을 완료했음을 확인한 후에만 공유 리소스에 접근해야 합니다.
QWaitFence는 후속 명령이 명령 스트림에 삽입되기 전에 신호가 발생하기를 강제로 대기하게 하는 FrameGraph 노드입니다. 이 노드는 QSetFence 와 함께 사용할 수 있으며, 대기 시간과 CPU 측에서 차단할지 여부를 구성하는 속성을 포함하고 있습니다.
참고: ` Qt 3D `는 드로우 호출을 발행하기 전에 GPU 리소스(텍스처, 셰이더, 버퍼)를 업로드합니다.
속성 설명서
handle : QVariant
QVariant 로 래핑된 기본 펜스 핸들을 보관합니다.
액세스 함수:
| QVariant | handle() const |
| void | setHandle(QVariant handle) |
알림 신호:
| void | handleChanged(QVariant handle) |
handleType : HandleType
사용 중인 핸들의 유형을 지정합니다. 현재는 OpenGL 펜스 ID만 지원됩니다.
액세스 함수:
| Qt3DRender::QWaitFence::HandleType | handleType() const |
| void | setHandleType(Qt3DRender::QWaitFence::HandleType type) |
알림 신호:
| void | handleTypeChanged(Qt3DRender::QWaitFence::HandleType handleType) |
timeout : quint64
펜스가 신호를 보내기까지 대기할 최대 시간을 나노초 단위로 지정합니다.
액세스 함수:
| quint64 | timeout() const |
| void | setTimeout(quint64 timeout) |
알림 신호:
| void | timeoutChanged(quint64 timeoutChanged) |
waitOnCPU : bool
펜스 신호가 발생하기를 기다리는 동안 CPU를 차단할지 여부를 지정합니다. 기본값은 false입니다.
액세스 함수:
| bool | waitOnCPU() const |
| void | setWaitOnCPU(bool waitOnCPU) |
알림 신호:
| void | waitOnCPUChanged(bool waitOnCPU) |
© 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.