[KLUG Members] Slow graphics

Bryan J. Smith members@kalamazoolinux.org
Mon, 07 Jan 2002 20:32:41 -0500


Alan DeJong wrote:
> Well, this is on my Laptop (A Gateway Solo 9100)
> The graphics card is an ATI RAGE MOBILITY-M1 AGP.

It think ATI has both DRI and Utah-GLX support for it.  Either way, it's
a slouch at OpenGL, even in Windows.  You're probably running at
1024x768 which only kills performance more.

I have the nVidia GeForce Go Mobile 16MB on my Toshiba Satellite
2805-S402.  It's fairly decent at 16-bit color, but about half the speed
of my nVidia GeForce2 MX200 32MB in my one desktop.

> I can remember how many megs it has on it...
> And i dont get any messages when i start the game..

Start the game from a terminal window.  It should spit out what it is
using, probably the OpenGL software implementation Mesa3D.

You see, unlike Direct3D, OpenGL is a _complete_API_.  That means it is
_always_ available in a software implementation, whereas many of
Direct3D's "latest features" are no where to be found in software (and
different hardware vendors actually differ on Direct3D implemenation and
extensions**).  So if your hardware doesn't support an OpenGL feature,
at least the software will "back fill it."  Sure, it might mean games
run slow as crap, but the _always_run_!

Under Windows, most Direct3D games only work with X, Y or Z brand
hardware accelerators, and many games require them out of Direct3D
extension compatibility.  Quake 3 might run like crap on Linux without a
3D accelerator, but at least it runs.  ;-PPP

-- Bryan

**ANAL NOTE:  OpenGL is not free of "extensions" either.  But the
difference is that OpenGL was designed to do various, advanced,
professional features like "transform and lighting" (T&L) from the
get-go.  This was required for non-entertainment applications like
engineering ones.  Direct3D, on the other hand, specializes in "eye
candy" vendor extensions (that could be emulated in normal 3D objects,
but done for speed) that it eventually adds to the standard 3D API, and
ignores some of the "higher-end" details.  Direct3D finally got T&L in
DirectX 8, but it still does not feature a complete software
implementation, and is still limited compared to what OpenGL can do when
it comes to T&L.

OpenGL 1.3 _does_ introduce some more performance "gaming" 3D functions,
although just about any Direct3D function can be created with a
combination of standard OpenGL functions.  Again, Direct3D is [largely]
a "bleeding-edge, vendor-specific" entertainment API whereas OpenGL is
[largely] a "complete, vendor-neutral" 3D API.

In the "old days," the lack of quality OpenGL performance on the Windows
platform kept most game development on UNIX OpenGL workstations, and
some games released still had to use OpenGL for the high-end features. 
This is becoming less of an issue today because Direct3D is finally
"maturing" and the x86 architecture is just as fast today.

-- 
Bryan J. Smith, Engineer          mailto:b.j.smith@ieee.org
AbsoluteValue Systems, Inc.       http://www.linux-wlan.org
SmithConcepts, Inc.            http://www.SmithConcepts.com