Qt3DRender::QSetFence Class
class Qt3DRender::QSetFenceFrameGraphNode グラフィックスコマンドストリームにフェンスを挿入するために使用されます。詳細...
| ヘッダー: | #include <qsetfence.h> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS 3drender) target_link_libraries(mytarget PRIVATE Qt6::3drender) |
| qmake: | QT += 3drender |
| 継承元: | Qt3DRender::QFrameGraphNode |
| ステータス: | 非推奨 |
このクラスは非推奨です。新しいコードでの使用は強く推奨しません。
プロパティ
- handle : QVariant
- handleType : HandleType
パブリック関数
| QVariant | handle() const |
| Qt3DRender::QSetFence::HandleType | handleType() const |
シグナル
| void | handleChanged(QVariant handle) |
| void | handleTypeChanged(Qt3DRender::QSetFence::HandleType handleType) |
詳細な説明
フェンスを使用すると、GPUとCPUのワークロードを同期させることができます。GPUコマンドは通常、ノンブロッキングです。コマンドが発行されると、コマンドバッファに挿入され、後でGPUによって読み込まれます。場合によっては、ハードウェアによってコマンドが確実に実行されたと確認できたときにのみ、処理を続行したり、特定のコマンドを発行したりしたいことがあります。 フェンスは、これを実現する手段です。これは、Qt3Dでサードパーティ製エンジンを使用する場合に特に重要です。Qt3Dは、他のエンジンのコマンドによるリソースの変更が完了したことが確認できた場合にのみ、共有リソースにアクセスすべきです。
QSetFenceは、コマンドストリームにフェンスを挿入するFrameGraphノードです。これは、QWaitFence と組み合わせて使用するか、あるいは基になるハンドルを抽出することで利用できます。
handleプロパティは、レンダラーが基盤となるフェンスリソースを作成すると更新されます。 ハンドルは、シグナル未発生の状態にある限り有効です。シグナル発生状態になると、ハンドルは破棄され、新しいハンドルが作成されます。つまり、フェンスがシグナル発生状態になるまでの時間によっては、同じハンドルが数フレームにわたって使用される可能性があります。
プロパティのドキュメント
[read-only] handle : QVariant
QVariant でラップされた、基となるフェンスハンドルを保持します。
アクセス関数:
| QVariant | handle() const |
Notifierシグナル:
| void | handleChanged(QVariant handle) |
[read-only] handleType : HandleType
使用されているハンドルのタイプを指定します。現在、OpenGL フェンス ID のみがサポートされています。
アクセス関数:
| Qt3DRender::QSetFence::HandleType | handleType() const |
通知シグナル:
| 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.