ID3DX10ThreadPump::P rocessDeviceWorkItems 方法

在完成加载和处理后,将工作项设置为设备。 当线程泵完成资源或着色器的加载和处理后,它会将其保存在队列中,直到调用此 API,此时处理的项目将设置为设备。 这对于控制将资源绑定到每个帧的设备所花费的处理量非常有用。 请参阅备注。

语法

HRESULT ProcessDeviceWorkItems(
  [in] UINT iWorkItemCount
);

参数

iWorkItemCount [in]

类型: UINT

要设置为设备的工作项数。 ProcessDeviceObjectCreation 最多将创建 iWorkItemCount 对象。 如果队列中没有足够的工作项来处理 iWorkItemCount 对象,ProcessDeviceObjectCreation 将创建与队列中的项一样多的设备对象。

返回值

类型: HRESULT

返回值是 Direct3D 10 返回代码中列出的值之一。

备注

作为如何使用此 API 的示例,假设你即将结束游戏的一个级别,并且想要开始预加载纹理、着色器和其他资源以用于下一个级别。 线程泵将开始在单独的线程上加载、解压缩和处理资源和着色器,直到它们已准备好设置为设备,此时它会将它们留在队列中。 人们可能不希望同时将所有资源和着色器设置为设备,因为这可能会导致游戏性能明显暂时降低。 因此,每个帧可以调用一次此 API,以便每个帧上仅将少量的工作项设置为设备,从而将绑定资源的工作量分散到多个帧的设备,并最大程度地降低游戏性能明显降低的可能性。

要求

要求
标头
D3DX10.h

D3DX10.lib

另请参阅

ID3DX10ThreadPump

D3DX 接口