Closed abucur closed 7 years ago
Hi Andrei,
Yes, creating multiple D3D devices is a supported way of achieving this for D3D11. To answer some of your questions:
Thanks!
Great info, thanks a lot! I'm really happy to hear this is a supported use case.
The reason we recommend minimizing the number of SwapChainPanel is mostly because they are heavyweight objects. There isn't a certain number of SwapChainPanels after which you'll hit bad performance; you'll just take a performance hit for each one you create. It's a good idea to try to reduce the total number of them across your application.
Of course, if you are rendering OpenGL ES content to multiple windows then you'll need multiple SwapChainPanels- you can't avoid that. :-)
I believe your questions have been answered, so I'm closing out this issue. Feel free to reactivate it if you have further questions on this topic!
Hello!
The use case is to support rendering in multiple threads completely isolated from each other. No shared resources, contexts and so on (more exactly, there can be many isolated windows, each with its own SwapChainPanel)
After looking a bit in the code it seems that multi-threaded rendering "should" be possible if each thread gets its own D3D device. From a very high level this seems to reduce the amount of data shared by the threads to a minimum and it makes the use case mentioned above possible to implement without serializing everything on a single thread.
Thanks for your help!