Sign in to follow this  
freka586

Multiple devices vs. SwapChains

Recommended Posts

I posted this message at the end of another thread, but since that thread appears to have died, I think the topic is worth a thread of its own. I'd like to know *how* costly multiple devices really is... This is because with my current design I would have 3 of them. Using only one device is alot more painful design-wise and I am still abit worried about getting that synchronous feeling... To describe a bit more what I want (without telling more than I'm allowed...) consider this example: The screen consists of 3 controls (window parts). The top one is sort of a platform game, the middle is a 3D FPS and the bottom one shows thumbnails. The two games are actually 2 different ways of presenting the same "world" - if the player moves/acts in one control the view in the other one is updated accordingly. I would also like to be able to have a mode where only one of the two controls is used (w. twice its normal size), together with the thumbnails. Currently, this would be done using 3 renderers, each with its own device. The device renders to one of the controls. Having 1 or 2 "main" controls is only a matter of creating 1 or 2 renderers as they are completely self-contained. Since everything must feel "connected" there is great need for asynchronousy (real word?). Each "window" would be running on a separate thread, would this be an issue with the SwapChain approach? I also very much like the idea of keeping the different renderers as self-contained as possible. Adding or removing one of them would almost be drag-and-drop then.. So, could this be done in a nice, maintainable way without requiring multiple devices, and still having a very responsive feeling? If so, please give me a very rough sketch of how the 3 renderers should "communicate" to be as self-contained as possible! Is there maybe even a best-practice / design pattern thing for this scenario?

Share this post


Link to post
Share on other sites
It really depends on how complicated your application is. Having multiple devices will have quite a serious impact on performance. If you are spending a lot of time sorting your geometry to minimise state changes most of that will go to waste as the three virtual devices swap in and out of the single rendering device (i.e. your graphics card), thus ruining your carefully planned sequence of renders.
Of course, if it's a simple app it really doesn't matter.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this