Jump to content
  • Advertisement
Sign in to follow this  
lucky6969b

How beneficial is it to establish a standalone multithreaded renderer?

This topic is 588 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

If I decouple the rendering stuff to a dedicated multithreaded renderer,

what is left to the main thread to do is to collect transformations

from the main effect components, game objects and their components,

and hand them over to the renderer.

Is it too trivial to do this?

I mean if I had a thousand agents, this is going to make a difference.

If I just got 10-100 objects in the scene, won't it be a waste to create

a standalone multithreaded renderer?

Thanks

Jack

Share this post


Link to post
Share on other sites
Advertisement

In D3D 11 or OpenGL, there is little or no benefit to actual multithreaded rendering. There is a benefit from doing as much work as possible in multithreaded setup for rendering - you can map a bunch of buffers and write to them simultaneously from threads, you can load geometry and store draw calls, you can sort for the most efficient render order, etc. The benefit from these things just depends on you to set up your system to do as much work as possible with independent threads working in their own memory space and compiling the results efficiently.

In the case of D3D 12 or Vulkan, there are massive gains to be had from fully multithreaded draw submission as the draw call counts get large. Note that a thousand isn't considered large anymore if you're setting up your rendering efficiently, not stalling, not doing lots of state changes, etc. Think tens of thousands.

Edited by Promit

Share this post


Link to post
Share on other sites

I suggest you go on with your game and only concern about rendering performance when it actually becomes a problem.

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.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!