QSetFence Class

class Qt3DRender::QSetFence

FrameGraphNode wird verwendet, um einen Zaun in den Grafikbefehlsstrom einzufügen. Mehr...

Kopfzeile: #include <QSetFence>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake: QT += 3drender
Vererbt: Qt3DRender::QFrameGraphNode
Status: Veraltet

Eigenschaften

Öffentliche Funktionen

QVariant handle() const
Qt3DRender::QSetFence::HandleType handleType() const

Signale

void handleChanged(QVariant handle)
void handleTypeChanged(Qt3DRender::QSetFence::HandleType handleType)

Detaillierte Beschreibung

Fence ermöglicht die Synchronisierung von GPU- und CPU-Arbeitslasten. GPU-Befehle sind in der Regel nicht-blockierend. Wenn sie ausgegeben werden, werden die Befehle in Befehlspuffer eingefügt, die zu einem späteren Zeitpunkt von der GPU gelesen werden. In manchen Fällen möchten Sie die Verarbeitung fortsetzen oder einen bestimmten Befehl erst dann erteilen, wenn Sie sicher sind, dass ein Befehl von der Hardware ausgeführt wurde. Fences sind eine Möglichkeit, dies zu tun. Dies ist besonders wichtig bei der Verwendung von 3rd Party Engines mit Qt3D. Qt3D sollte nur dann auf gemeinsam genutzte Ressourcen zugreifen, wenn wir wissen, dass der andere Engine-Befehl mit der Änderung der Ressource fertig ist.

QSetFence ist ein FrameGraph Knoten, der einen Zaun in den Befehlsstrom einfügt. Er kann dann in Verbindung mit QWaitFence oder durch Extrahieren des zugrunde liegenden Handles verwendet werden.

Die Handle-Eigenschaft wird aktualisiert, sobald der Renderer die zugrunde liegende Zaunressource erstellt hat. Das Handle bleibt so lange gültig, wie es sich im unsignierten Zustand befindet. Sobald es den signalisierten Zustand erreicht hat, wird es zerstört und ein neues Handle erstellt. Je nachdem, wie lange es dauert, bis der Zaun signalisiert wird, kann derselbe Handle also über mehrere Frames hinweg verwendet werden.

Dokumentation der Eigenschaft

[read-only] handle : const QVariant

Hält den darunter liegenden Zaungriff in einer QVariant.

Zugriffsfunktionen:

QVariant handle() const

Benachrichtigungssignal:

void handleChanged(QVariant handle)

[read-only] handleType : const HandleType

Gibt den Typ des verwendeten Handles an. Derzeit werden nur OpenGL Fence ids unterstützt.

Zugriffsfunktionen:

Qt3DRender::QSetFence::HandleType handleType() const

Notifier-Signal:

void handleTypeChanged(Qt3DRender::QSetFence::HandleType handleType)

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