QWaitFence

FrameGraphNode used to wait for a fence in the graphics command stream to become signaled. More

Inheritance diagram of PySide6.Qt3DRender.Qt3DRender.QWaitFence

New in version 5.13.

Synopsis

Functions

Detailed Description

Fence allow to synchronosize GPU and CPU workloads. GPU commands usually are non-blocking. When issued, commands are inserted in command buffers which will be read at a later time by the GPU. In some cases, you want to continue processing or issue specific command only when you are sure a command has been executed by the hardware. Fences are a way to do so. This is especially important when using 3rd party engines with Qt3D, Qt3D should only access shared resources when we know the other engine command are done modifying the resource.

QWaitFence is a FrameGraph node that will force to wait for it to become signaled before subsequent commands are inserted into the command stream. It can then be used in conjunction with QSetFence and contains properties to configure how long it should wait and whether it should block on the CPU side.

Note

Qt 3D uploads GPU resources (Texture, Shaders, Buffers) before issuing draw calls.

class PySide6.Qt3DRender.Qt3DRender.QWaitFence([parent=None])
Parameters

parentPySide6.Qt3DCore.Qt3DCore.QNode

PySide6.Qt3DRender.Qt3DRender.QWaitFence.HandleType
PySide6.Qt3DRender.Qt3DRender.QWaitFence.handle()
Return type

object

See also

setHandle()

PySide6.Qt3DRender.Qt3DRender.QWaitFence.handleChanged(handle)
Parameters

handle – object

PySide6.Qt3DRender.Qt3DRender.QWaitFence.handleType()
Return type

HandleType

See also

setHandleType()

PySide6.Qt3DRender.Qt3DRender.QWaitFence.handleTypeChanged(handleType)
Parameters

handleTypeHandleType

PySide6.Qt3DRender.Qt3DRender.QWaitFence.setHandle(handle)
Parameters

handle – object

See also

handle()

PySide6.Qt3DRender.Qt3DRender.QWaitFence.setHandleType(type)
Parameters

typeHandleType

See also

handleType()

PySide6.Qt3DRender.Qt3DRender.QWaitFence.setTimeout(timeout)
Parameters

timeout – int

See also

timeout()

PySide6.Qt3DRender.Qt3DRender.QWaitFence.setWaitOnCPU(waitOnCPU)
Parameters

waitOnCPU – bool

See also

waitOnCPU()

PySide6.Qt3DRender.Qt3DRender.QWaitFence.timeout()
Return type

int

See also

setTimeout()

PySide6.Qt3DRender.Qt3DRender.QWaitFence.timeoutChanged(timeoutChanged)
Parameters

timeoutChanged – int

PySide6.Qt3DRender.Qt3DRender.QWaitFence.waitOnCPU()
Return type

bool

See also

setWaitOnCPU()

PySide6.Qt3DRender.Qt3DRender.QWaitFence.waitOnCPUChanged(waitOnCPU)
Parameters

waitOnCPU – bool