Just to give an idea of the scale of the problem, even a "mid-range" 
nVidia card-- something like I'm running, the Quadro 600, which is one 
of the lower-end "professional" cards but still better than a 
consumer-grade GeForce card-- is capable of 400 million polygons per 
second.  Now, the Intel GPUs that ship in a lot of machines these days 
are capable of only about 1/10 of that (30-40 million), since they are 
using hybrid software/hardware OpenGL rendering.  If you're talking 
about pure software rendering solely using the CPU, then it's another 
factor of 10 (3-4 million polys/second) on a reasonably modern CPU. 
Thus, the difference between a decent GPU and a decent CPU is easily two 
orders of magnitude (more if you're using a more high-end Quadro than 
what I have.)  GPUs are designed precisely for doing 3D computations, 
and they've had 20 years to get really really good at them.  When I 
first started in the 3D business in 1996, the 3DLabs chips we were 
working with back then (this was pre-nVidia, and before the term "GPU" 
was even invented) were less than an order of magnitude faster than 
software rendering, and even with acceleration, you were looking at 
something like 300k-500k polys/second.  Flash forward 17 years, and CPUs 
can now render OpenGL something like 50 or 100 times faster than they 
could in 1996, but GPUs have improved by more like a factor of 1000 to 
2000 during the same time period.  And that's just considering raw 
geometry performance.  When you start considering texture mapping, the 
GPU has an even larger advantage.

Arthur is right.  The purpose of VirtualGL is ultimately to virtualize 
GPU resources (hence the name.)  We do that by redirecting rendering 
into an off-screen buffer on the X display that is connected to the GPU. 
  If you're using purely software rendering, then there is no purpose to 
doing redirection at all.  You can simply run Mesa in-process, but per 
above, it's going to be slow.

The other thing to bear in mind is that, when you start talking about 
redirecting OpenGL to another machine, then you're talking about 
"indirect OpenGL."  With indirect OpenGL, all of the OpenGL commands are 
sent over the wire, and if your app is using immediate mode (the 
"traditional" way OpenGL is rendered, in which all geometry commands are 
repeated with every frame, as opposed to using display lists or VBO's), 
or if the app is using a lot of textures, then the performance will 
still be very bad even if there's a GPU on the other end.


On 9/19/13 10:56 AM, Amanda Tumminello wrote:
> I have been looking at and playing with this software for some time.  It
> works wonderfully when using 3D enabled graphics cards!
>
> Is it possible to offload to a CPU instead of a GPU.  If so is there any
> special steps that I need to take?   We have some servers with adequate
> processing that i have been told should be able to handle the graphics
> load.

------------------------------------------------------------------------------
LIMITED TIME SALE - Full Year of Microsoft Training For Just $49.99!
1,500+ hours of tutorials including VisualStudio 2012, Windows 8, SharePoint
2013, SQL 2012, MVC 4, more. BEST VALUE: New Multi-Library Power Pack includes
Mobile, Cloud, Java, and UX Design. Lowest price ever! Ends 9/20/13. 
http://pubads.g.doubleclick.net/gampad/clk?id=58041151&iu=/4140/ostg.clktrk
_______________________________________________
VirtualGL-Users mailing list
VirtualGL-Users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/virtualgl-users

Reply via email to