QWaitFence Class
class Qt3DRender::QWaitFenceFrameGraphNode グラフィックス・コマンド・ストリームのフェンスがシグナルされるのを待ちます。さらに...
ヘッダー | #include <QWaitFence> |
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) |
詳細説明
フェンスによって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 Fence IDのみがサポートされている。
アクセス関数:
Qt3DRender::QWaitFence::HandleType | handleType() const |
void | setHandleType(Qt3DRender::QWaitFence::HandleType type) |
Notifierシグナル:
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) |
© 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.