Create a thread pump.
HRESULT D3DX11CreateThreadPump( _In_ UINT cIoThreads, _In_ UINT cProcThreads, _Out_ ID3DX11ThreadPump **ppThreadPump );
- cIoThreads [in]
The number of I/O threads to create. If 0 is specified, Direct3D will attempt to calculate the optimal number of threads based on the hardware configuration.
- cProcThreads [in]
The number of process threads to create. If 0 is specified, Direct3D will attempt to calculate the optimal number of threads based on the hardware configuration.
- ppThreadPump [out]
The created thread pump. See ID3DX11ThreadPump Interface.
The return value is one of the values listed in Direct3D 11 Return Codes.
A thread pump is a very resource-intensive object. Only one thread pump should be created per application.
There’s no implementation of the ‘async loader’ outside of D3DX 10, and D3DX 11.
For Win32 desktop apps, you can use the Concurrency Runtime to implement something similar to the Windows Runtime asynchronous programming model.