When I start my application I set up all the resources in the main thread, but when the game loop starts the rendering is done in a seperate thread. I will not be using directx in the main thread after the initial steps.
With opengl I use wglMakeCurrent to just use the context I created in the main thread and it works fine. Can I do something similar with directx or would I need to have a deferred context even when I'm not using the context from different threads at the same time?
Directx 11 and seperate rendering thread
Started by Nanook, Sep 04 2012 05:44 AM
2 replies to this topic
Ad:
#2 Crossbones+ - Reputation: 5143
Posted 04 September 2012 - 05:49 AM
Your setup requires no extra work to be made multi-threaded, except to simply pass a flag to the function that creates the context to inform it to be multi-thread-safe.
DirectX is not a state machine like OpenGL. Contexts can be used across threads freely. You only need to handle your own personal synchronization issues, which would be present no matter what API you use.
L. Spiro
DirectX is not a state machine like OpenGL. Contexts can be used across threads freely. You only need to handle your own personal synchronization issues, which would be present no matter what API you use.
L. Spiro
Edited by L. Spiro, 04 September 2012 - 07:02 AM.
It is amazing how often people try to be unique, and yet they are always trying to make others be like them. - L. Spiro 2011
I spent most of my life learning the courage it takes to go out and get what I want. Now that I have it, I am not sure exactly what it is that I want. - L. Spiro 2013
L. Spiro Engine: http://lspiroengine.com
L. Spiro Engine Forums: http://lspiroengine.com/forums
I spent most of my life learning the courage it takes to go out and get what I want. Now that I have it, I am not sure exactly what it is that I want. - L. Spiro 2013
L. Spiro Engine: http://lspiroengine.com
L. Spiro Engine Forums: http://lspiroengine.com/forums






