logo_archarticles.jpg (68790 bytes)

 

Why GLQuake (and also D2/Win95 version) is faster on NT4 than Win95 - 05/16/97

 

NT 4 has a 32 bit GDI engine, 95 has a 16 bit GDI engine. Win95 has to thunk OpenGL calls from 32 down to the 16 bit GDI engine of 95, NT obviously does not. NT's GDI is purely in Kernal Mode, 95 draws most of its internal engine from NT 3.1, so it has to do a lot of context switches (between user mode and kernal mode) since it's GDI lives in both User and Kernal mode. It take the call in User and switches to Kernal mode to process the call.

Why doesn't NT play games faster than Windows 95? Here's why: Windows NT has LSASS which stands for Local Security Authority. Every application (including games) that wish to execute something have to pass an internal security check to make sure they have permissions to execute. The Process (the program) is then issued a security token and each thread under that process just shows its token to LSASS to execute.

While this makes for great security, it consumes considerable time when your desire is to get something up on the screen as fast as possible. Currently we are researching hardware acceleration for DirectX and Direct3d that don't take the performance hit from LSASS and still keep errant programs from
trying to break security by trying to having Hackers bust in by making Direct X calls into the system.

Why NT may become the ultimate gaming system: Windows 95/97 will eventually replace their kernal with a full NT 32 or 64 bit kernal with no LSASS or at least a very hampered one. And this security-stripped NT platform will support multiple processors...

Shane Creamer, programmer from Microsoft's NT group
shanec@microsoft.com

taken from a Quake News homepage

 

GDI=Graphic Device Interface=the routine, that lets the graphic (of a game or even a window) draw using the current graphic driver

 

< Back to index

 

WebHits counts accesses on this page since 02/08/97. View detailed statistics!