[mdlug] Interesting information about Windows "7"

Aaron Kulkis akulkis3 at hotpop.com
Sat Jan 26 02:49:11 EST 2008


Ingles, Raymond wrote:
>> From: Aaron Kulkis
> 
>> When was the last time you had to select a sound card
>> or video card as the first step to starting a game?
> 
>  Well, actually, many games require particular hardware on the video card to
> run. For example, Hardware T&L, or shaders, or texture compression, or
> whatever.

But the game writer is NOT writing custom code for
that particular card... when a specific card is listed
as a requirement, it's because it has enough dual-ported
memory running in a high enough bus speed connected to
a GPU which is both fast enough AND has shading routines,
texturing, as firm-ware "built-in" functionality so
that the only thing DirectX needs to do is correctly
re-arrange the arguments before passing them on
to the graphics card.

NOBODY is doing "bare metal" programming on Windows
the way they did during the DOS days.

> 
>> But the game writer doesn't know (and doesn't need
>> to know) the difference between an ATI graphics
>> card and an nVidea graphics card, like they did
>> when games asked if you had a Hercules graphics
>> adapter or not.
> 
>  Actually, modern games have multiple 'render paths' that optimize for
> different graphics hardware. The Source engine (Half-Life 2 and all) has
> at least three that I know of for different versions of DirectX.
>

But it's still done through the DirectX API, not
directly interfacing with the card.

>> And the purpose of an operating system is to make everything
>> just as predictable REGARDLESS of whether the hardware
>> changes or not.
> 
>  "In theory, theory and practice are the same. In practice, they are not."
> 
>  I do write portable code (for a living) and I can tell you that even with
> standards and so forth, it is *not* always easy. Even if you write to a
> standard, different implementations can have significant issues. I've had
> to code around issues with pthreads on different platforms, and WBEM was
> a horrifying nightmare. I worked on five different platforms and every
> single one was not only different from the standard, but different from
> every *other* implementation of the standard.
> 
>  That being said, the two key APIs for Linux gaming - the SDL and OpenGL -
> are *very* well-written standards that actually *do* have a high degree of
> portability. Not perfect - I've never run into a standard that covered all
> the bases, ANSI C included - but refreshingly good.

Just like Encyclopedias, any published Standard is
"a day late and a dollar short"

But nobody is writing Windows games by writing code
that bypasses DirectX to directly load GPU registers
and directly address the card memory.  As Backwards
as Windows is, they DID bring in memory protection
when old what's his name from DEC re-implemented
the VMS kernel.
on-card-memory locations






More information about the mdlug mailing list