- class QWaitFence#
FrameGraphNode 用来在图形命令流中等待栅栏信号。《更多》…
概要#
属性#
方法#
def
__init__()
def
handle()
def
handleType()
def
setHandle()
def
setHandleType()
def
setTimeout()
def
setWaitOnCPU()
def
timeout()
def
waitOnCPU()
信号#
def
handleChanged()
def
timeoutChanged()
注意
本文档可能包含从C++自动翻译到Python的片段。我们始终欢迎对片段翻译的贡献。如果您在翻译中发现问题,也可以在https:/bugreports.qt.io/projects/PYSIDE上创建工单来告诉我们
详细说明#
围栏允许同步CPU和GPU工作负载。GPU命令通常是异步的。当命令被发布时,它们会被插入到命令缓冲区中,稍后由GPU读取。在某些情况下,您希望在确认命令已由硬件执行后才继续处理或发布特定命令。围栏就是这样做的。当使用与Qt3D配合的第三方引擎时,这一点尤为重要,Qt3D应该在我们知道其他引擎的命令已经修改了资源后,才访问共享资源。
QWaitFence
是一个FrameGraph节点,它会在后续命令插入命令流之前强制等待其变为触发信号的状态。它可以使用与QSetFence
的组合,并包含配置其应该等待多长时间以及是否应在CPU端阻塞的属性。注意
Qt 3D在发布绘制调用之前上传GPU资源(纹理、着色器、缓冲区)。
- class HandleType#
注意
属性可以直接使用,当使用了
from __feature__ import true_property
时,或者通过访问器函数在其他情况下使用。- property handleᅟ: object#
持有用QVariant包装的底层围栏句柄。
- 访问函数
- property handleTypeᅟ: Qt3DRender.QWaitFence.HandleType#
指定正在使用的句柄类型。当前仅支持OpenGL围栏ID。
- property timeoutᅟ: int#
指定等待围栏成为触发信号的最大时间(以纳秒为单位)。
- 访问函数
- property waitOnCPUᅟ: bool#
指定CPU在等待围栏变为触发信号时是否应该阻塞。默认情况下为false。
- __init__([parent=None])#
- 参数:
parent –
QNode
- handle()#
- 返回类型:
对象
另请参阅
setHandle()
属性
handle
的获取器。- handleChanged(handle)#
- 参数:
handle – 对象
属性
handle
的通知信号。- handleType()#
- 返回类型:
HandleType
另请参阅
setHandleType()
属性
handleType
的获取器。- handleTypeChanged(handleType)#
- 参数:
handleType –
HandleType
属性
handleType
的通知信号。- setHandle(handle)#
- 参数:
handle – 对象
另请参阅
handle()
属性
handle
的设置器。- setHandleType(type)#
- 参数:
type –
HandleType
另请参阅
handleType()
属性
handleType
的设置器。- setTimeout(timeout)#
- 参数:
timeout – int
另请参阅
timeout()
属性
timeout
的设置器。- setWaitOnCPU(waitOnCPU)#
- 参数:
waitOnCPU – bool
另请参阅
waitOnCPU()
属性
waitOnCPU
的设置器。- timeout()#
- 返回类型:
int
另请参阅
setTimeout()
属性
timeoutᅟ
的获取器。- timeoutChanged(timeoutChanged)#
- 参数:
timeoutChanged – int
属性
timeoutᅟ
的通知信号。- waitOnCPU()#
- 返回类型:
bool
另请参阅
setWaitOnCPU()
属性
waitOnCPUᅟ
的获取器。- waitOnCPUChanged(waitOnCPU)#
- 参数:
waitOnCPU – bool
属性
waitOnCPUᅟ
的通知信号。