ID3DX10ThreadPump::P rocessDeviceWorkItems 方法
在完成加载和处理后,将工作项设置为设备。 当线程泵完成资源或着色器的加载和处理后,它会将其保存在队列中,直到调用此 API,此时处理的项目将设置为设备。 这对于控制将资源绑定到每个帧的设备所花费的处理量非常有用。 请参阅备注。
语法
HRESULT ProcessDeviceWorkItems(
[in] UINT iWorkItemCount
);
参数
-
iWorkItemCount [in]
-
类型: UINT
要设置为设备的工作项数。 ProcessDeviceObjectCreation 最多将创建 iWorkItemCount 对象。 如果队列中没有足够的工作项来处理 iWorkItemCount 对象,ProcessDeviceObjectCreation 将创建与队列中的项一样多的设备对象。
返回值
类型: HRESULT
返回值是 Direct3D 10 返回代码中列出的值之一。
备注
作为如何使用此 API 的示例,假设你即将结束游戏的一个级别,并且想要开始预加载纹理、着色器和其他资源以用于下一个级别。 线程泵将开始在单独的线程上加载、解压缩和处理资源和着色器,直到它们已准备好设置为设备,此时它会将它们留在队列中。 人们可能不希望同时将所有资源和着色器设置为设备,因为这可能会导致游戏性能明显暂时降低。 因此,每个帧可以调用一次此 API,以便每个帧上仅将少量的工作项设置为设备,从而将绑定资源的工作量分散到多个帧的设备,并最大程度地降低游戏性能明显降低的可能性。
要求
要求 | 值 |
---|---|
标头 |
|
库 |
|
另请参阅