Qt3DRender::QWaitFence Class
class Qt3DRender::QWaitFenceFrameGraphNode utilisé pour attendre qu'une clôture dans le flux de commandes graphiques soit signalée. Plus...
| En-tête : | #include <QWaitFence> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS 3drender)target_link_libraries(mytarget PRIVATE Qt6::3drender) |
| qmake : | QT += 3drender |
| Hérite : | Qt3DRender::QFrameGraphNode |
| Statut : | Déclassé |
Propriétés
- handle : QVariant
- handleType : HandleType
- timeout : quint64
- waitOnCPU : bool
Fonctions publiques
| 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 |
Signaux
| void | handleChanged(QVariant handle) |
| void | handleTypeChanged(Qt3DRender::QWaitFence::HandleType handleType) |
| void | timeoutChanged(quint64 timeoutChanged) |
| void | waitOnCPUChanged(bool waitOnCPU) |
Description détaillée
La clôture permet de synchroniser les charges de travail du GPU et du CPU. Les commandes du GPU sont généralement non bloquantes. Lorsqu'elles sont émises, les commandes sont insérées dans des tampons de commande qui seront lus ultérieurement par le GPU. Dans certains cas, vous souhaitez poursuivre le traitement ou émettre une commande spécifique uniquement lorsque vous êtes sûr qu'elle a été exécutée par le matériel. Les clôtures sont un moyen d'y parvenir. Ceci est particulièrement important lors de l'utilisation de moteurs tiers avec Qt3D, Qt3D ne devrait accéder aux ressources partagées que lorsque nous savons que la commande de l'autre moteur a fini de modifier la ressource.
QWaitFence est un noeud FrameGraph qui forcera à attendre qu'il soit signalé avant que les commandes suivantes ne soient insérées dans le flux de commandes. Il peut ensuite être utilisé en conjonction avec QSetFence et contient des propriétés pour configurer la durée d'attente et le blocage côté CPU.
Remarque : Qt 3D télécharge les ressources GPU (textures, shaders, tampons) avant d'émettre des appels de dessin.
Documentation des propriétés
handle : QVariant
Maintient la poignée de la clôture sous-jacente enveloppée dans un QVariant.
Fonctions d'accès :
| QVariant | handle() const |
| void | setHandle(QVariant handle) |
Signal de notification :
| void | handleChanged(QVariant handle) |
handleType : HandleType
Spécifie le type de poignée utilisé. Actuellement, seuls les identifiants de clôture OpenGL sont pris en charge.
Fonctions d'accès :
| Qt3DRender::QWaitFence::HandleType | handleType() const |
| void | setHandleType(Qt3DRender::QWaitFence::HandleType type) |
Signal du notificateur :
| void | handleTypeChanged(Qt3DRender::QWaitFence::HandleType handleType) |
timeout : quint64
Spécifie le temps maximum en nanosecondes à attendre pour que la clôture soit signalée.
Fonctions d'accès :
| quint64 | timeout() const |
| void | setTimeout(quint64 timeout) |
Signal du notificateur :
| void | timeoutChanged(quint64 timeoutChanged) |
waitOnCPU : bool
Indique si l'unité centrale doit être bloquée en attendant que la clôture soit signalée. Cette valeur est fausse par défaut.
Fonctions d'accès :
| bool | waitOnCPU() const |
| void | setWaitOnCPU(bool waitOnCPU) |
Signal du notificateur :
| 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.