Jump to content
  • Advertisement
Sign in to follow this  
acid2

Rendering in a seperate thread?

This topic is 4813 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I just realised that this ties in with the multicore programming thread, but because I've got a specific question - I felt it would be best to start my own thread. What is the use/frequency of rendering in a seperate thread - and how possible is this? I've seen people playing world of warcraft, and at points - everything seems frozen, but the mouse and ui is still responsive. To me, this seems like a threading thing - is it? Any other feedback appriciated!

Share this post


Link to post
Share on other sites
Advertisement
In general, threading is only good for really-really-really separated systems. Every interaction between threads causes them to "stop and talk" which is probably pretty bad for performance.

Now since your "game" system will most likely want to change the graphical world often (add/remove stuff, move stuff around, change graphics), there's little use for threading.

What threading IS useful for (and I suspect this is what happens in the examples you have) is loading game/level/whatever data and other such longer-lasting non-interactive functions.

Also know that, for example, DirectX already basically renders "in the background". (I'm not too sure whether it always does it or whether you have to toggle it somehow...)

Share this post


Link to post
Share on other sites
The freezes in WoW are more likely to be related to some network critical code I'd imagine. I'm pretty sure WoW does stream in a lot of the terrain though, so that part's probably multithreaded...

As for DX, well, any graphics API that runs on modern hardware is naturally going to be parallel, since the rendering is done on the GPU. DX basically sends 'commands' via a buffer to the GPU, which does the actual rendering independent of whatever's running on the CPU.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!