3D Graphics in software compared to 3D Hardware

shervinemami

New Member
Messages
19
Reaction score
1
Points
0
Hey, does anyone have a rough idea of typical rendering speeds of 3D Hardware-Accelerated renderers and software-based renderers these days? I don't play 3D games so I don't know how much performance people usually have to play current games.

Anyway I just tested the software renderer that I wrote about 7yrs ago and it displays 300,000 gauraud-shaded triangles per second on my 5yr old Thinkpad T42 laptop (1.7GHz single-core Intel Pentium M CPU w/ 768MB RAM). I'm just wondering how that compares to hardware and software renderers these days?

Cheers,
Shervin Emami.
 

nirajkum

New Member
Messages
159
Reaction score
0
Points
0
It seems to technical for me ... only thing which matters to me is that my 3d games should work on my hardware and software ...
 

trossin

New Member
Messages
32
Reaction score
0
Points
0
300K triangles per second is pretty slow for today's games. Also, you did not apply textures to your triangles which games now do. Also, games are using programmable hardware shaders that do large amounts of processing per pixel (for example, blend multiple textures, per pixel lighting with multiple light sources and fog effects). The hardware Vertex engines are also programmable to do lots of fun tricks. I used to design Open GL hardware accelerators for HP unix workstations back in the day (mid to late 1990's) and we were doing 1M triangles/second with a few giga-flops of floating point power. I just saw an article in EE times about a graphics board with a Tera-flop of floating point power.

The bottom line is that your software renderer is between 1/100 and 1/10000 the speed of a hardware accelerated solution depending on the per/pixel features enabled.
 

shervinemami

New Member
Messages
19
Reaction score
1
Points
0
Hi trossin,

Thanks! Thats what I was hopeing to find out, a rough idea of the scale of comparison between hardware and software based rendering. Obviously specifically-designed 3D hardware renderers would be much faster at rendering than software rendering, otherwise there wouldn't be such a massive GPU market!

Yeah I heard about a Teraflop GPU, but I wasn't sure how many triangles per second that would typically render. And I've heard about how pixel shaders are revolutionising 3D games, but I've never used a computer with a pixel shader or a game using it either!

I would probably have gotten into hardware renderer programming instead of software rendering, but I get motion sickness & a bad headache within 10 minutes of playing any 3D FPS games! (no kidding). So if I can't play 3D games, I never bothered buying dedicated video cards and therefore have never had real 3D hardware to test. But developing hardware acceleration for OpenGL sounds pretty cool, what sort of stuff did you work on?

Cheers,
Shervin.
 

galaxyAbstractor

Community Advocate
Community Support
Messages
5,508
Reaction score
35
Points
48
I have a computer with the nvidia 8600GTS GPU, and one with a nvidia quadro FX 570M, both used for rendering 3D work in autodesk maya with mental ray.

The quadro FX card renders a lot faster than the 8600GTS, imo. I haven't really tested games etc.

Note: The quadro FX card isn't made for gaming, so it wont run games too smoothly, it does, but sometimes the graphics get a bit weird (transparent textures in call of duty 4 etc)
 

posktova

New Member
Messages
3
Reaction score
0
Points
0
Ok. When in to 3D, whether 3D gaming or rendering its better to use hardware acceleration. Just choose the right hardware for your pc.
 

shervinemami

New Member
Messages
19
Reaction score
1
Points
0
When I started creating my 3D graphics software, I was using an Intel 486 computer, which was later upgraded to a Pentium with a 2D graphics accelerator card! I don't think 3D hardware even existed for PC's! So software rendering was definitely the best option.

But now its a completely different story, you can just use the OpenGL or DirectX libraries to do all the graphics for you, and use 3D acceleration when available. So much easier than writing your own assembly code to render lines and triangles!
 

Smith6612

I ate all of the x10Pizza
Community Support
Messages
6,518
Reaction score
48
Points
48
When it comes down to it Hardware rendering in my opinion is much better in the long run. Many higher end graphics cards that nVidia and ATi have completely smoke a CPU in it's tracks when it comes down to these kinds of jobs, as after all, that's what the video hardware was made for. I find software rendering to be useful for initial purposes (such as getting very basic textures/objects drawn up) as it'll use the less power, but when you're done with the initial stages and are starting to make things such as games or are moving from low resolution textures/objects to high resolution, offloading them to Hardware entirely, with minimal Software rendering involved is the best choice. Just take a look at Adobe Flash. Even though it has Hardware Acceleration on it, it minimally uses the hardware for rendering and still taxes the CPU. Right now Adobe and nVidia are working on payloading Flash onto nVidia GPUs, so Flash should run loads better on PCs with slower CPUs but compatible cards..

If you want to see an example of the difference between Hardware Accellerated/Hardware processed design vs. Software Rendering/design, just open up a game that has PhysX support with an nVidia GPU/an AEGIA PhysX card, that can be toggled on and off. Spawn a crapload of Physics objects (50,000 objects should do it) and create mass physics. Do this twice, once with the CPU performing the work fully, and once with the dedicated hardware solution doing the work. You should notice immediately that the dedicated hardware will smoke the CPU in terms of Physics. Even my Intel i7-950 starts to choke when I do mass physics on my box with PhysX on GPU off and Multithreading enabled. With GPU PhysX on, the video cards take care of all of that, leaving my processor free to do other things, and it actually keeps framerates loads higher (as the GPUs will process physics either on one card, or in between frame renderings depending on how I have things set up). Every time I perform these mass physics tests whenever nVidia updates their drivers, I'm always running the game as far as I can push it graphics wise, and Multithreading the game. The GPU Physics processing beats the CPU (software) every time.
 
Last edited:
Top