Reason behind Dos compatibility mode performance's advantage

Discussion in 'PC Hardware, Software and Displays' started by BlackSilver, Nov 4, 2016.

  1. BlackSilver

    Newcomer

    Joined:
    Dec 24, 2009
    Messages:
    17
    Likes Received:
    5
    Location:
    São Paulo
    I was remembering my days of playing Grand Prix 2 under win95 or 98. The game executed considerably better under the compatibility mode of these two Os. Not monstrously faster, but considerably. It was about fifteen years since I last played it under these systems, but I would guess 15-20% faster, maybe somewhat more. The question is....... why? What the compatibility mode offered that the "real" mode didn't offer?. I know you had direct access to many hardware features and I imagine that you are taken away one layer of abstraction, making possible to do many things faster, but if that it is the case, would like to know in greater details how it is done.
     
  2. Davros

    Legend

    Joined:
    Jun 7, 2004
    Messages:
    15,362
    Likes Received:
    2,554
    That was not how things were generally,
    games usually ran better in pure dos
     
  3. Cyan

    Cyan orange
    Legend Veteran

    Joined:
    Apr 24, 2007
    Messages:
    8,776
    Likes Received:
    2,423
    my hunch, which isn't more than that, is that Dos was integral part of Windows 95 and 98, the core of the OS, residing in the 16 bit area, and in compatibility mode the game accessed that area as if it were a Dos game. (ini files were still autoexec.bat and config.sys in W95 and W98, iirc)

    It was when Windows 2000 was released when Dos was completely removed from the core OS..
     
  4. Rikimaru

    Veteran Newcomer

    Joined:
    Mar 18, 2015
    Messages:
    1,016
    Likes Received:
    395
    It was not removed. It never was in there in first place. It's a NT kernel.
     
  5. Cyan

    Cyan orange
    Legend Veteran

    Joined:
    Apr 24, 2007
    Messages:
    8,776
    Likes Received:
    2,423
    that sound picky, we are talking semantics, I think
     
    Malo likes this.
  6. BlackSilver

    Newcomer

    Joined:
    Dec 24, 2009
    Messages:
    17
    Likes Received:
    5
    Location:
    São Paulo
    Sure, but what kind of performance advantage can a dos game have? That's my doubt.
     
  7. Silent_Buddha

    Legend

    Joined:
    Mar 13, 2007
    Messages:
    16,664
    Likes Received:
    5,688
    Win9x was an OS that was based on DOS. Windows 2000 was not DOS based and didn't include DOS emulation because none of the WinNT OSes included DOS emulation. Windows 2000 existed side by side with WinME (basically another Win9x just as Windows 2000 was another WinNT).

    Basically for Windows you had the following lines of OSes
    1. Windows 1.x-3.x - ran on top of the DOS environment.
    2. Win9x (includes and ends with WinME) - Ran in its own OS environment based on DOS and still offered native DOS capability albeit with a bit of overhead from Win9x.
    3. WinNT (includes Windows 2000 and all Windows OSes after WinME/2000) - Ran in its own OS environment with no basis in DOS and does not include native DOS emulation (I can't remember if early NT 3.x or 4.x had some form of DOS emulation).
    OS/2 came the closest, IIRC, to offering a native DOS experience (in terms of speed) when a DOS application was launched from within the OS (OS/2, Win9x). It's one of many reasons that I still preferred OS/2 over Win9x when running DOS games.

    DOS did not run faster in Win9x than in native DOS. What many people remember is more likely that they stopped running DOS natively after a point as machines got fast enough to offer acceptable performance for DOS through Windows. With faster machines it would be inevitable that their experience with DOS applications would be faster than what they remembered from the last time they ran a DOS application in a native DOS environment.

    Another potential for perceived greater performance may be affected if DOS environment variables were not set to correctly take full advantage of the hardware in .bat and .cmd files in a native DOS environment. IE - if environment variables weren't set to free enough base memory and enable extended memory, an application could be adversely affected by having less memory available than it otherwise would have. As well IRQ and DMA conflicts could impact the performance of an application cause it to operate slowly, erratically, or not at all.

    Win9x went a huge way towards making both games (especially when DirectX matured) as well as computing in general far more open to the general public.

    Regards,
    SB
     
    #7 Silent_Buddha, Nov 7, 2016
    Last edited: Nov 7, 2016
    Cyan likes this.
  8. hkultala

    Regular

    Joined:
    May 22, 2002
    Messages:
    284
    Likes Received:
    6
    Location:
    Herwood, Tampere, Finland
    WinNT did include DOS EMULATION. What it did not have was DOS WITHOUT emulation.

    On win9x you could either
    1) run pure DOS, about going to windows while booting, or make starting the program shut down windows for you "compability mode".
    2) run emulated DOS, just run DOS program on top of windows.
     
Loading...

Share This Page

  • About Us

    Beyond3D has been around for over a decade and prides itself on being the best place on the web for in-depth, technically-driven discussion and analysis of 3D graphics hardware. If you love pixels and transistors, you've come to the right place!

    Beyond3D is proudly published by GPU Tools Ltd.
Loading...