Auf dieser Seite

Qt3DRender::QSetFence Class

class Qt3DRender::QSetFence

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

Überschrift: #include <qsetfence.h>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake: QT += 3drender
Erbt von: Qt3DRender::QFrameGraphNode
Status: Veraltet

Diese Klasse ist veraltet. Wir raten dringend davon ab, sie in neuem Code zu verwenden.

Eigenschaften

Öffentliche Funktionen

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

Signale

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

Ausführliche Beschreibung

Fences ermöglichen die Synchronisation von GPU- und CPU-Arbeitslasten. GPU-Befehle sind in der Regel nicht blockierend. Bei der Ausgabe werden 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 ausführen, wenn Sie sicher sind, dass ein Befehl von der Hardware ausgeführt wurde. Fences bieten eine Möglichkeit, dies zu erreichen. Dies ist besonders wichtig bei der Verwendung von Engines von Drittanbietern mit Qt3D. Qt3D sollte erst dann auf gemeinsam genutzte Ressourcen zugreifen, wenn sicher ist, dass die Befehle der anderen Engine die Änderung der Ressource abgeschlossen haben.

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

Die „handle“-Eigenschaft wird aktualisiert, sobald der Renderer die zugrunde liegende Fence-Ressource erstellt hat. Der Handle bleibt gültig, solange er sich im „unsignaled“-Zustand befindet. Sobald er den „signaled“-Zustand erreicht hat, wird er zerstört und ein neuer Handle erstellt. Das bedeutet, dass je nachdem, wie lange es dauert, bis der Fence signalisiert wird, derselbe Handle über mehrere Frames hinweg verwendet werden könnte.

Dokumentation der Eigenschaft

[read-only] handle : QVariant

Enthält das zugrunde liegende Fence-Handle, das in ein „ QVariant “ verpackt ist.

Zugriffsfunktionen:

QVariant handle() const

Notifier-Signal:

void handleChanged(QVariant handle)

[read-only] handleType : 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)

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