Allen Akin | 9 Jul 2008 22:20
Picon
Favicon

Re: OpenGL and hardware acceleration

On Wed, Jul 09, 2008 at 09:30:34AM -0800, Mohan Parthasarathy wrote:
|                    ... But it would be nice if there
|    was some sort of a table that can describe what APIs are accelerated by a
|    given hardware...

People have been asking for this since the very earliest days of OpenGL.
The reason it doesn't exist is that such a table is far too limited to
express anything meaningful about what a driver/hardware combination can
accelerate.

For example, you might ask whether glVertex2fv() is "accelerated." It
might be fast if there are fewer than a certain number of textures
enabled, or if no vertex shader is used, or if a vertex shader is used
but doesn't require too much on-chip memory, or if it's in a display
list but not in immediate mode, or if the drawing surface is allocated
in a particular bank of memory, or if certain OpenGL extensions are
supported for the current rendering context, or only if the formats used
for textures and drawing surfaces are compatible, and so on.  Hundreds
of factors affect the outcome, and sometimes they even interact, so you
also have to take their combinations into account.  The resulting
description would be overwhelmingly complex and useless in practice.
(Not to mention outdated whenever a new driver is released.)

In the past, on certain systems, there have even been combinations of
state that are processed by the GPU, but the resulting performance is
less than using the CPU to perform the same function.  What does
"hardware accelerated" mean in a situation like that?

In certain limited cases, usually when you know you're going to be
running on a particular GPU in a particular system configuration and you
have full knowledge of driver internals, you can outline a few rendering
paths that are guaranteed to be fast.  You can find examples of that
sort of thing at the NVIDIA and AMD developer websites.  But performance
profiling is the only way to determine what runs fast in the general
case.

Allen
----- 
FAQ and OpenGL Resources at:
  http://www.geocities.com/SiliconValley/Hills/9956/OpenGL

--

-- 
Author: Allen Akin
  INET: akin <at> pobox.com

Fat City Hosting, San Diego, California -- http://www.fatcity.com
---------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: ListGuru <at> fatcity.com (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB OPENGL-GAMEDEV-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).


Gmane