Having recently encountered this I guess I need to add in my 2 pennies also,
although we have drifted from mapping scattered pages into address space and
into “That Mean ol’ Microsoft won’t let me play!”
Stability and performance in off the shelf systems, software, and hardware
is one thing. Stability and performance in supporting one of a kind or
limited distribution systems and hardware is another. If I intend to sell
millions of copies of my drivers then absolutely, writing drivers that abide
by the specification and play nicely is an absolute. If nothing else so I
can say … “Sorry, I’m doing it right, it’s HIS driver that is screwing the
pooch and here’s why …”. However when you enter the wonderful world of one
of a kind hardware, or hardware that is choked with off the shelf drivers,
your then start exploring whole new areas of how to do things that expand
the envelope of the OS and sometimes violate every rule in the book.
If we need the ability to sync access to a queue at IRQL above
DISPATCH_LEVEL, we write it. Or we may write our Scatter/Gather routines to
benefit our device, to the detriment of other DMA devices. But that is what
is required to exceed 100 megabytes per second, and that is the performance
for which the customer is paying. And that is the bottom line when you set
the off the shelf drivers aside.
Gary G. Little
Staff Engineer
Broadband Storage, Inc.
xxxxx@broadstor.com
-----Original Message-----
From: Klaus Gerlicher [mailto:xxxxx@ati.com]
Sent: Monday, August 06, 2001 8:15 AM
To: NT Developers Interest List
Cc: ‘NT Developers Interest List’
Subject: [ntdev] Re: AW: RE: Mapping scattered pages into process addr ess
spac e
Just my five cents of thought:
Customer demands, customer gets. That’s the way I would see it. Without
taking full advantages of what the hardware can deliver, noone in the
industry would sell anything. There’s fierce competition out there and that
makes you use every trick in the book. Now, does it make the system more
unstable? I don’t think so.
Most of the time you just find ways of using a feature which wasn’t included
in the OS. Let me give you an example: The Windows 2000 AGP support doesn’t
give you a way of scatter/gather locking whole user bitmaps into memory and
transfer them with AGP 4x speed. What can you do? Wait until MS sees they
have created a monster spec for their AGP support, one that is unflexible.
Or do we do this on our own? NT 4.0 didn’t even have any support for AGP but
still all AGP graphics boards run with AGP protocol enabled? How’d that
happen? At least not with official OS support.
And still those system are used by millions of users (just ignoring the
facts that some board vendors always build screwed up mobos). And those
users are happy with the product. They use it everyday and I should say
they’re stable though there’s certainly a lot of workarounds (that’s what
I’d call what MS means by partying with something) to squeeze the last bit
of perfromance out of the hardware.
And just let me counter your rant a bit: I think there’s a lot of
intelligent driver writers out there who know what they’re doing (and that
rant does insult them). They probably even know better than MS themselves.
Proper ways result in a monopoly of technology. What MS does is certainly
not always a good, proper, stable, well performing, secure and cutting edge
approach.
Klaus P. Gerlicher
SW design engineer
Fire GL professional graphics (a division of ATi)
Tel. +49-8151-266420
Mob. +49-173-3794003
xxxxx@ATi.com
-----Original Message-----
From: Gregory G. Dyess [mailto:xxxxx@pdq.net]
Sent: Montag, 6. August 2001 16:01
To: NT Developers Interest List
Subject: [ntdev] Re: AW: RE: Mapping scattered pages into process addr
ess spac e
If your requirements for graphics are so tight you should consider moving to
a dedicated special-purpose OS instead of making Windows less stable and
less compatible. I for one don’t need balls-to-the-wall graphics
performance and I would be willing to bet that 95+% of the Windows NT/2k
users feel the same. In order for NT/2k to be acceptable to most serious
users, it must be rock-solid stable. Rebooting all the time to clear a
lockup caused by lazy driver writers or to get that last 2% graphics
performance is unacceptable. It’s also annoying when you have an SMP
machine or a cPCI machine and it won’t run because some device driver writer
didn’t follow Microsoft’s edicts and failed to take into account multiple
PCI busses behind a PCI bridge or 64 bit PCI busses. It’s time we followed
the proper way of doing things and move this hairy razor-edge crap to Window
9x.
Sorry for the rant, but I do serious work where the computer must remain
stable and the attitude of “performance at all costs” won’t cut it anymore.
Greg
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of Moreira, Alberto
Sent: Monday, August 06, 2001 8:41 AM
To: NT Developers Interest List
Subject: [ntdev] Re: AW: RE: Mapping scattered pages into process addr
ess spac e
Dropping IoMapTransfer is extremely bad idea. The driver will a) be not
64bit compatible b) will possibly fail on some architectures (chipsets
etc).
Also IoMapTransfer does not incur any significant penalties.
Welcome to the wonderful world of graphics! Every CPU cycle counts. I
believe Klaus is right, if we have a bus master on board, we don’t need to
bother about the OS. And there may be so many reasons that a common 32- and
64-bit graphics driver may not be a good idea, that the compatibility issue
may not be relevant. Actually, some time ago Mark Kilgard published a white
paper on what he called “Direct Rendering”, which consists of rendering from
a Ring 3 OpenGL DLL directly to the hardware, bypassing the whole of Ring 0,
Windows included. That is probably the fastest way to do it, that is, when
we have graphics hardware that can handle it.
According to the AGP2.0 spec, there can be only 1 AGP slot.
AGP is point-to-point connection between master (the video card) and
corelogic (the north bridge).
It needs not be point to point, maybe it’s time to have an AGP++ ? With
textures in host memory, it’d be nice to have lots of bus bandwidth and the
ability to DMA directly from Ring 3 host memory.
As about the speed - yes, I agree. Looks like 2D GDI accelerators are
abandoned due to high speed of AGP/modern CPUs - at least GeForce2MX seems
to have no such.
I don’t know much about NVidia chips, but I’ve not seen one graphics chip
that doesn’t have a very effective 2D accelerator. In fact, I doubt it very
much that a CPU can blt at even a fraction at the speed a fast graphics chip
can.
Alberto.
You are currently subscribed to ntdev as: xxxxx@pdq.net
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
You are currently subscribed to ntdev as: xxxxx@ATi.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
You are currently subscribed to ntdev as: xxxxx@broadstor.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com