QWaitFence Class
class Qt3DRender::QWaitFenceFrameGraphNode グラフィックス・コマンド・ストリームのフェンスがシグナルされるのを待ちます。さらに...
Header: | #include <QWaitFence> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS 3drender) target_link_libraries(mytarget PRIVATE Qt6::3drender) |
qmake: | QT += 3drender |
Inherits: | Qt3DRender::QFrameGraphNode |
Status: | Deprecated |
プロパティ
- 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) |
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) |
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。