|
 Originally Posted by darreno1
It also depends on what is being rendered. 3dgames with intense graphics? Yes. Simple-textured menus that slide up or down, right to left? I'm not sure you'll see that big a difference.
One technology Apple uses with much success is to take 2D interface elements and render them as textures with OpenGL. This allows all sort of transformations, special effects, smooth animations, etc. Even very mundane tasks in the OS get accelerated through the GPU. A big side benefit is that it frees up the CPU from having to deal with this stuff.
I have done a lot of software development over the years, and have resorted to OpenGL in several cases for simple 2D interface rendering -- it's significantly better, and is often the only way to obtain visually smooth/appealing frame rates.
 Originally Posted by darreno1
And how are you so sure net power, heat will be lower? The 3GS is certainly NOT evidence of that.
There is no doubt in my mind that if you took some representative rendering and compared the hardware approach of the GPU with a software approach on the CPU, the GPU will always be faster and more efficient. Shoot, you can do a similar test on a CPU by comparing native hardware commands with software commands (a good test is square root). Hardware always wins.
I can't state it clearly enough, but the GPU has **OpenGL embedded in the hardware**. This will be an order of magnitude faster than running any rendering in software.
I'll give you another example. You can run an OpenGL software library (Mesa) which allows you to channel OpenGL commands through to the CPU. This was done in years past for compatibility reasons, or to get OpenGL apps to run on systems without OpenGL GPU support. For a while, one of my apps supported both Mesa software rendering and native OpenGL hardware rendering, in the early days of Mac OS X before X11 was fully flushed out. When we got to the point where the two approaches could be compared, it was no contest -- the hardware rendering flat out ran away from software rendering.
|
|
|