我可以运行多个并行的ID3DXRenderToSurface吗?

时间:2011-11-24 02:47:00

标签: direct3d9

是否可以创建ID3DXRenderToSurface的多个实例并让它们在线程中并行渲染?这似乎不太可能,但是由于DirectX的某些方面对我来说仍然有些令人难以置信,我想我会问。

如果无法做到这一点没什么大不了的。只是我正在处理的应用程序(不幸的是)将其对象渲染分割为渲染到曲面的组,然后将完成的曲面渲染到后缓冲区。我只是认为如果可以将所有组并行渲染而不是串行渲染,那将是很好的。

1 个答案:

答案 0 :(得分:0)

此界面只允许您渲染到指定的曲面而不是后缓冲区。为了渲染任何东西,你仍然需要设置D3D设备的状态并调用它的方法。 D3D9中线程安全的设备接口。所以,答案是“不,你不能以这种方式呈现多个线程”。您可能可以创建多个设备,在那里绘制部分,然后将结果图像组合在一个设备上,但我怀疑这会带来多大好处(如果可以的话)。

如果您寻找多线程渲染,请尝试使用DX11。