VOGONS


First post, by Unregistered

User metadata

Just a thought relating to the CPU Usage thread... has anyone ever written something which would intercept DOS 'wait' events and replace them with instructions to release back to the OS instead of just waiting and maxing out my CPU?

Thanks

Reply 1 of 15, by DosFreak

User metadata
Rank l33t++
Rank
l33t++

That's what idling software is for. I am unsure if it performs it for NTVDM applications in NT but for Win32 applications NT does it by default (although 3rd party applications seem to do a bit better). You can also download Dosidle for Dos.

How To Ask Questions The Smart Way
Make your games work offline

Reply 3 of 15, by Unregistered

User metadata

Thanks DosFreak - but, as Harekiet mentioned in the thread I was referring to, the CPU won't idle if it is running a dedicated DOS thread which doesn't use release functions. DOSidle does the same as CPUIdle or other CPU idling software, but through DOS instead of Windows - so it won't idle if the DOS game is hogging 100% of CPU time and not releasing it to the OS periodically. Guess I 'll have to keep searching to see if such a thing exists...

Thanks for your replies 😀

Reply 4 of 15, by Stiletto

User metadata
Rank l33t++
Rank
l33t++
Unregistered wrote:

Thanks DosFreak - but, as Harekiet mentioned in the thread I was referring to, the CPU won't idle if it is running a dedicated DOS thread which doesn't use release functions. DOSidle does the same as CPUIdle or other CPU idling software, but through DOS instead of Windows - so it won't idle if the DOS game is hogging 100% of CPU time and not releasing it to the OS periodically. Guess I 'll have to keep searching to see if such a thing exists...

I don't think anyone's written such a thing - if it is indeed possible. I certainly have never heard of it. It could indeed be useful.

"I see a little silhouette-o of a man, Scaramouche, Scaramouche, will you
do the Fandango!" - Queen

Stiletto

Reply 5 of 15, by Harekiet

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Well in a way you could build a seperate kind of moslo for it, instead of wasting cycles now and then give cycles back to the OS now and then.

Reply 6 of 15, by Stiletto

User metadata
Rank l33t++
Rank
l33t++
Harekiet wrote:

Well in a way you could build a seperate kind of moslo for it, instead of wasting cycles now and then give cycles back to the OS now and then.

Well, I couldn't. 😉

Here's an interesting point:
http://www.hpaa.com/moslo/feedback/message.as … =1286.1001M.TXT
If you see your CPU usage high, it doesn't mean it is..

"I see a little silhouette-o of a man, Scaramouche, Scaramouche, will you
do the Fandango!" - Queen

Stiletto

Reply 8 of 15, by Stiletto

User metadata
Rank l33t++
Rank
l33t++
Snover wrote:

That post is obviously referring to a DOS-based OS, and not to an NT-based OS.

Yah, you're right. 😜

"I see a little silhouette-o of a man, Scaramouche, Scaramouche, will you
do the Fandango!" - Queen

Stiletto

Reply 9 of 15, by vladr

User metadata
Rank Oldbie
Rank
Oldbie

SPEEDSET's "slowdown" mode actually does just that (instead of wasting cycles in loops at 100% CPU it releases control back to Windows for a predefined amount of milliseconds). I wasn't able to evaluate how successful this approach was, overall, in terms of actually slowing down the games (but the CPU% should be OK).

V.

Reply 11 of 15, by vladr

User metadata
Rank Oldbie
Rank
Oldbie

You can DL it on the board (look for the most recent message that has an attachment to it on the SPEEDSET board, or check the Announcements board and follow the links there.
V.

Reply 13 of 15, by dvwjr

User metadata
Rank Member
Rank
Member
Stiletto wrote:

I don't think anyone's written such a thing - if it is indeed possible. I certainly have never heard of it. It could indeed be useful. [/B]

You might wish to check out this product. I used an older version of TAME on a project nine years ago with DesqView. The product is now exclusively Win NTVDM oriented.

Tame Software Homepage

Hope this helps,

dvwjr

Reply 14 of 15, by DosFreak

User metadata
Rank l33t++
Rank
l33t++

Looks interesting:

http://www.tamedos.com/docs/TameFAQ.htm#_Toc20915591

. How can increase the number of DOS users that my system will support […]
Show full quote

. How can increase the number of DOS users that my system will support

A. The short answer is to add some settings to make Tame more aggressive, and then test to make sure that the application still performs well.

Please note that this is a fine-tuning issue. If Tame is not already bringing the idle CPU to low levels, follow the instruction in the Tuning Support Document before attempting to fine-tune.

There are two primary settings that regulate the amount of processor time that DOS apps receive during the period immediately following each keystroke. By default they are set to values that work well with the widest variety of applications. Most applications will work just as well if these settings are adjusted to allow Tame to more aggressively release time slices. The only risk with trying the aggressive values is the chance that the application needs the more conservative values, and therefore it runs more slowly.

1. Boost adjustment

If the application does not poll often while working then the Boost can be disabled. Try setting these options:
“/BoostKey 0 /BoostDOS 0 /BoostVideo 0 /BoostIrq 0”

Note that with boost disabled, the /PollIdle setting becomes much more critical. This sets the threshold of how many polls per tick trigger idle detection. With boost enabled, polls immediately after activity are pretty much ignored. With boost disabled, the only way that Tame can detect that the application is active is to monitor the poll rate.

If the application performs poorly with boost disabled, try setting it to 1 instead.

If the boost settings cannot be reduced without degrading performance then there is one final chance. The /BoostCancel parameter can be used to set a poll rate threshold that can reduce or cancel a boost.

2. With a Windows NT/2000 or OS/2 system, the context switch rate may be reduced by specifying that Tame enter deep sleep sooner than the default 5 seconds. Specify /SwitchRepeatTicks 0 and Tame will enter deep sleep within half a second (the exact time depends on the /SingleSwitchTicks setting that defaults to 9 ticks). This is normally safe to do unless the application needs to do some background work after each key press (e.g. if the app does something when it detects that you have stopped typing).

How To Ask Questions The Smart Way
Make your games work offline