Windows 我是否需要CreateSharedHandle将ID3D11Texture2D传递给另一个线程?

Windows 我是否需要CreateSharedHandle将ID3D11Texture2D传递给另一个线程?,windows,directx,direct3d11,dxgi,Windows,Directx,Direct3d11,Dxgi,正如标题所说:我是否需要使用CreateSharedHandle将线程中生成的ID3D11Texture2D传递给同一进程中的另一个线程 我的使用案例是,每个线程将使用纹理,并在同一适配器上创建自己的设备。引用: 同步共享曲面支持多线程、进程内和进程外使用Direct3D 10.1、Direct2D和Direct3D 11 API使用的多个渲染设备。 [……] DXGI 1.1同步共享曲面 Direct3D 11、Direct3D 10.1和Direct2D API都使用DXGI 1.1,它提供

正如标题所说:我是否需要使用CreateSharedHandle将线程中生成的ID3D11Texture2D传递给同一进程中的另一个线程

我的使用案例是,每个线程将使用纹理,并在同一适配器上创建自己的设备。

引用:

同步共享曲面支持多线程、进程内和进程外使用Direct3D 10.1、Direct2D和Direct3D 11 API使用的多个渲染设备。 [……]

DXGI 1.1同步共享曲面 Direct3D 11、Direct3D 10.1和Direct2D API都使用DXGI 1.1,它提供了通过两个或多个Direct3D设备同步读取和写入同一视频内存表面DXGISurface1的功能。使用同步共享曲面的渲染设备可以是Direct3D 10.1或Direct3D 11设备,每个设备都在同一进程或交叉进程中运行

使用同步曲面/纹理可以在多线程并发执行环境中使用它们。但是,您不必启用此机制,只需在另一个线程上使用纹理即可。不过,你必须这样做还有另一个原因:

…每个线程将使用纹理,并在同一适配器上创建自己的设备

纹理属于它们的设备,因此必须启用共享,才能让多个设备使用共享的纹理数据