Qt3DRender::QWaitFence Class
class Qt3DRender::QWaitFenceFrameGraphNode servait à attendre qu'une barrière dans le flux de commandes graphiques soit signalée. En savoir plus...
| En-tête : | #include <qwaitfence.h> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS 3drender) target_link_libraries(mytarget PRIVATE Qt6::3drender) |
| qmake : | QT += 3drender |
| Hérite de : | Qt3DRender::QFrameGraphNode |
| Statut : | Obsolète |
Cette classe est obsolète. Nous déconseillons fortement de l'utiliser dans du nouveau code.
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
Les barrières permettent de synchroniser les charges de travail du GPU et du CPU. Les commandes GPU sont généralement non bloquantes. Lorsqu'elles sont émises, les commandes sont insérées dans des tampons de commandes 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 certain qu'une commande a bien été exécutée par le matériel. Les barrières constituent un moyen d’y parvenir. Cela est particulièrement important lors de l’utilisation de moteurs tiers avec Qt3D ; Qt3D ne doit accéder aux ressources partagées que lorsque l’on sait que les commandes de l’autre moteur ont fini de modifier la ressource.
QWaitFence est un nœud FrameGraph qui force l’attente de sa signalisation avant que les commandes suivantes ne soient insérées dans le flux de commandes. Il peut alors être utilisé conjointement avec QSetFence et dispose de propriétés permettant de configurer la durée d’attente et de déterminer s’il doit bloquer du côté du CPU.
Remarque : « Qt 3D » charge les ressources GPU (textures, shaders, tampons) avant d’émettre des appels de dessin.
Documentation des propriétés
handle : QVariant
Contient le descripteur de la barrière sous-jacente encapsulé dans un objet de type ` 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 descripteur utilisé. Actuellement, seuls les identifiants de « fence » OpenGL sont pris en charge.
Fonctions d'accès :
| Qt3DRender::QWaitFence::HandleType | handleType() const |
| void | setHandleType(Qt3DRender::QWaitFence::HandleType type) |
Signal de notification :
| void | handleTypeChanged(Qt3DRender::QWaitFence::HandleType handleType) |
timeout : quint64
Spécifie la durée maximale, en nanosecondes, pendant laquelle il faut attendre que la barrière soit activée.
Fonctions d'accès :
| quint64 | timeout() const |
| void | setTimeout(quint64 timeout) |
Signal de notification :
| void | timeoutChanged(quint64 timeoutChanged) |
waitOnCPU : bool
Indique si le processeur doit être bloqué en attendant que la barrière soit activée. La valeur par défaut est « false ».
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.