DOS Application slows in XP

Status
Not open for further replies.

gopi_vbboy

Cyborg Agent
Joined
Mar 1, 2007
Messages
1,436
In Windows XP Prof.,when i'am running an DOS application(Borland c++ for eg) and shift to other windows aplications (by shifting to XP through Alt+Tab) i see the windows application runs very slowly.At the same time when i opened Windows task manger there is a constant 99% usage of CPU due to 'ntvdm.exe'.But CPU becomes to normal usage when i close the DOS Application.Why does this happen and is there any solution
 

shantanu

Technomancer
Joined
Dec 7, 2006
Messages
2,772
This is not a problem DUDE... the thing is that DOS is a Single user Disk operating system so it utilizes all the resources at once and hence leaving almost nothing for OTHERs.. and Specially C++ and other Dos based lang.
 
OP
G

gopi_vbboy

Cyborg Agent
Joined
Mar 1, 2007
Messages
1,436
But the applications in WinME,win 98 behave normally and run comparably faster.I find the difference only in XP.Moreover when i close dos in XP application by close button End program dialog appears,although i can close through interface provided by the application.There is no End Program dlg in Win 9x/Me.
 
Last edited:

wizrulz

GUNNING DOWN TEAMS
Joined
Mar 5, 2005
Messages
1,721
DOS programs, especially old, 16-bit ones, need to run in
a DOS emulation window in OS's developed from the 32-bit,
Windows NT kernel model. The amount of overhead needed to
run the DOS emulator slows down the system. True, 32-bit
OS's include Windows NT, Windows 2000 and Windows XP. The
OS's derived from Windows 95, including 98 and ME, still
had some hybrid 16-bit/32-bit code, to afford some better
longevity to older DOS programs that were not going to be
ported over or re-written into pure 32-bit code.
 

shantanu

Technomancer
Joined
Dec 7, 2006
Messages
2,772
actually the win9x_me is Fat32 disk partitions and its not NT file system ,, while Windows 2000 and Xp is based on NT .. so the memory management is Typical.. thats why the Problem occurs
 
OP
G

gopi_vbboy

Cyborg Agent
Joined
Mar 1, 2007
Messages
1,436
what is this 'ntvdm.exe'.It runs all time a doss app runs.

can any change to dos app properties like rom emulation,disable screen saver prevent this rapid use of cpu
 

wizrulz

GUNNING DOWN TEAMS
Joined
Mar 5, 2005
Messages
1,721
gopi_vbboy said:
what is this 'ntvdm.exe'.It runs all time a doss app runs.

can any change to dos app properties like rom emulation,disable screen saver prevent this rapid use of cpu

ntvdm.exe process is used when you run DOS or 16-Bit software on your windows pc. It will emulate the old DOS/16-bit os to allow older programs to run. If you are running DOS based (or 16-bit) programs on your computer, you should leave this process running.

@gopi...
can u post ur HIJACK File
 
Last edited:

it_waaznt_me

Coming back to life ..
Joined
Nov 30, 2003
Messages
2,006
While whatever wizrulez wrote, he copied it from here

Now to the thread.

Dos applications run slow on NT machine because (as already stated) they are 16 bit applications and XP being a 32 bit OS runs them under a virtual machine (thats your NTVDM.exe).

This 16 bit emulation works like this : There are actually two process that creates this emulation : wowexec.exe and ntvdm.exe ..
Wowexec : Window16 on Window32 Exec : Converts the 16 bit api to 32 bit api
NTVdm : NT Virtual Dos machine : Emulates the Dos operating system and handles all the api calls.

This emulation and translation takes some time and hence you feel that the program is running slow.

Possible solution : Right click on the exe of the file and select properties.
Click on Comatability tab. Select Run this program under comatibilty for Windows 98 . Apply .. Try now ..

How I know all this ^^ ? I am trying to make some legacy applications run on NT architecture these days .. experience pays .. :D
 
Status
Not open for further replies.
Top