Qt3DRender::QWaitFence Class
class Qt3DRender::QWaitFenceFrameGraphNode 以前は、グラフィックスコマンドストリーム内のフェンスがシグナル状態になるのを待っていました。詳細...
| ヘッダー: | #include <qwaitfence.h> |
| 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) |
Notifierシグナル:
| void | handleChanged(QVariant handle) |
handleType : HandleType
使用されているハンドルのタイプを指定します。現在、OpenGL フェンス ID のみがサポートされています。
アクセス関数:
| Qt3DRender::QWaitFence::HandleType | handleType() const |
| void | setHandleType(Qt3DRender::QWaitFence::HandleType type) |
通知シグナル:
| 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) |
© 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.