9 Jul 2008 22:20
Re: OpenGL and hardware acceleration
Allen Akin <akin <at> pobox.com>
2008-07-09 20:20:32 GMT
2008-07-09 20:20:32 GMT
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).