• Welcome to Overclockers Forums! Join us to reply in threads, receive reduced ads, and to customize your site experience!

How does a GPU render 2 things at once?

Overclockers is supported by our readers. When you click a link to make a purchase, we may earn a commission. Learn More.

ziggo0

Member
Joined
Apr 27, 2004
Kind of an odd question but - say I got VMware running a 3D accelerated game in the background, and I decide that I want to do something with my video card not in a virtual machine - how does the GPU go about handling this? I've been running a small listen server inside of VMware - it requires you be in game to run it (assets are loaded into RAM & VRAM, and is actively rendering in game the whole time). I limited the FPS to 30 via console in said game. I decide to try and play from the same machine and it runs perfectly fine...dual monitoring the VM to see if there is any slow down on that side and there isn't.

I'm just curious how this works? Don't GPUs only do one 'thread' of rendering at a time? Someone please it explain it - googling is failing me tonight.

(Edit: During this venture of mine GPU usage is only around 71% as well...and I'm not having performance issues).
 
It's worth noting that the GPU is rendering a tremendous number of things at once all the time anyway. It could be argued that each core can only render one thing at once, so the GPU as a whole is rendering as many things as its cores. That's not likely to stand up to a lot of scrutiny though.

In any case GPUs have the same sort of scheduling stuff going on that CPUs do, except they have a LOT more cores to spread loads across.
 
In all likelyhood, VMware has a special video card driver in the guest OS that is little more than a a thin wrapper around the host's DirectX or OpenGL libraries. For the most part, all the driver does is take rendering commands from the guest OS and forward them to the VMware executable. Once VMware has access to the rendering commands, it sends them up to the host OS to be rendered like any other DirectX or OpenGL client.

JigPu
 
All very interesting...I'm quite surprised/shocked at how well it performs in a VM. I've mostly messed with Xen/KVM and wasn't too impressed till I gave VMware a test drive...just wow'd at the difference. Now I understand why the software is so expensive.
 
Back