VOGONS


First post, by Keatah

User metadata
Rank Member
Rank
Member

I was setting up some old games such as Duke Nukem 3d and Ms SpaceSimulator, and Doom 1.666 and 1.9, and win3.1 for some other stuff. You know stuff like that. And I never quite got a good solid high framerate.

My hardware is a Centrino with Pentium-M 1.7GHz and Intel 855gm integrated graphics laptop from vintage 2004, running windows XP. Yes it is old, it is solid, reliable, and gets me good battery life and is relatively small.

So anyways, like in duke3d, the beginning of the first level, at the top, on the roof, I'd get between 4 and 20 fps! That is a simple scene! Erratically, most of the times averaging about 8 fps. Windowed or full-screen, made no difference. Switching back and forth between full and windowed seemed to "clear out" or load something into the video cache, because for a few moments I'd get 20+ fps. Then it would jerk its way back to 8 over 10 seconds..

After seemingly trying every conceivable option related to sound buffers and video drawing methods and resolutions and everything else.. I found a simple solution.

Since this is a lappy computer I found that by turning off the Windows XP speed throttling in the PowerCFG.exe I could make the cpu run steadily at max rate of 1.7GHz. Because, for some reason or other, DosBox doesn't like to put a full load on the cpu. And the cpu/winXP sensing that, likes to throttle itself down, thereby robbing DosBox of needed cycles. You can just set your lappy to always on and no speed throttling.

NOW, I get a good solid 25fps in duke3d, in 800x600 vesa 2.0 modes. All my other apps got rid of sound stuttering and everything dos-box related works a hella lot smoother!

So I made an extra power profile for use with dosbox, one that just turns the cpu on full burn.

So if you got some erratic framerates and are certain you have the cpu horsepower, check into the duty-cycle power-saving throttling.

Reply 1 of 12, by leileilol

User metadata
Rank l33t++
Rank
l33t++

Space Simulator is real mode. Try core=dynamic, cycles=30000

Throttling is annoying, it makes Unreal engine games panic too 😁

apsosig.png
long live PCem

Reply 2 of 12, by Keatah

User metadata
Rank Member
Rank
Member

I tried those settings. I'll keep the DYNAMIC option, but changing from cycles=MAX to cycles=30000 gave me a framerate drop from 12fps to about 4-5fps. So back to MAX on MS SpaceSim.

SpaceSim seems to have some screen flicker, looks like a vsync issue. But it has the same flicker when I ran it on my p2-266 with riva-128 videocard, its a pretty fast 2-d/3d chipset. The higher the framerate on this one, the worse the flickering gets.

A few games I needed to set cycles=4000, or else they run too fast to correctly play sound. Those would be stellar-7 and nova-9. Also, Commanche needs a limiter too, of cycles = 20000. If I set it to max it is really unplayable at like 200fps or something stupid.

I also tend to run each game with its own .conf file and separate directory. This makes it super easy to pick the best settings for each game.

Reply 3 of 12, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

but changing from cycles=MAX to cycles=30000 gave me a framerate drop from 12fps to about 4-5fps.

Then try 60000.

Reply 4 of 12, by Keatah

User metadata
Rank Member
Rank
Member

Little change with 60,000 .. more fps, about 15 -18.

I went into spacesim's config/ setup utility and found a list of graphics cards, by selecting the s3 trio option, I got like 80 or 90 fps. So apparently this is an important part!

I also still have the same flicker. And using an SVN unofficial dosbox that let's you play with v-sync options *STILL* has no effect on this. This may be a problem with SS itself because I remember having good amounts of sync/flicker issues when I ran it on real physical hardware. Only happens when you get a good framerate going, anything above 15 or 20 it would seem.

Reply 5 of 12, by DosFreak

User metadata
Rank l33t++
Rank
l33t++
Keatah wrote:

Since this is a lappy computer I found that by turning off the Windows XP speed throttling in the PowerCFG.exe I could make the cpu run steadily at max rate of 1.7GHz. Because, for some reason or other, DosBox doesn't like to put a full load on the cpu. And the cpu/winXP sensing that, likes to throttle itself down, thereby robbing DosBox of needed cycles. You can just set your lappy to always on and no speed throttling.

That's not a DOSBox issue. It's recommended for all VM software to disable power management CPU throttling software if you want maximum performance.

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

Reply 6 of 12, by Keatah

User metadata
Rank Member
Rank
Member

Yes, I can understand that. It was a little bit of a surprise to me. And this is the first time I'm really messing around with DosBox in detail.

Reply 7 of 12, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

I introduced the 105% cpu speed to fool my laptop cpu throttling

Water flows down the stream
How to ask questions the smart way!

Reply 8 of 12, by Keatah

User metadata
Rank Member
Rank
Member

I just tried that but it was the same deal for me. My lappy was trained too well in power management school and by golly if the application doesn't demnand full speed it ain't gett'n it! So I still need to turn the cpu on full burn. Actually, running it at full speed doesn't heat it up much with dosbox. It's the likes of Typhoon 2001 that get it really cooking.

Well, either way, DosBox is rock'n'kool and hats off to the devs. This is what open-source is all about!

Reply 9 of 12, by mr_bigmouth_502

User metadata
Rank Oldbie
Rank
Oldbie

I have a similar issue on my old laptop. It's an Acer Travelmate 4500 with a 1.6GHz Pentium M, and 512MB of RAM, so it should be somewhat capable of running demanding games in DosBox. Yet, I have a hard time getting DosBox to use more than about 70% of the CPU time, even when the CPU is running at a full 1.6GHz and not at 591MHz like it does in its power-saving mode.

Reply 10 of 12, by Keatah

User metadata
Rank Member
Rank
Member

My issue was my 1.7 pentium m would like to throttle and float around 900-1200mhz, and sometimes dropping to 598mhz. DosBox seems to be the only app that needs more "power" but doesn't get it. Once I set the cpu to 17x multiplier manually, DosBox runs like a charm!

It also seems that regardless of what multiplier I use, DosBox won't take more than 70% utilization.

All my other apps can get and use a full 100% / 17x multiplier if needed.

I just use a windows power profile that has the parameter "/processor-throttle-ac none" in it when doing dosbox stuff.

Reply 11 of 12, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Might even be related to graphics card requirements or gfx driver bottlenecks.

Reply 12 of 12, by Keatah

User metadata
Rank Member
Rank
Member

That is what I was thinking at first. I played with all graphics options both within windows and within dosbox. Granted, the 855gm intel integrated chipset is not high performance. But it is good enough. Most importantly, it's a stable chipset that has been thoroughly debugged over time and works perfect for this system.

Anyways, all my other apps get me good steady performance, like the Duke-3D HRP package, I get 50fps at 1024x768 32-bit opengl. And many many other games are quite playable, just not the latest fanboy crisis stuff.

So, how would I go about troubleshooting that, if graphics are an issue..?

These are things to note
1- All my mainstream apps work, like photoshop, x-plane, typhoon 2001, quake, unreal, ms office. No apparent glitches or this or that. Orbiter (www.orbitersim.com), a modern day version of Microsoft Space Simulator, works fine too.

2- I have the latest drivers for the 855gm chipset, the last version was released in 2006 something..

3- All my classic gaming emulators work just fine. mame, stella, vice uae, atariwin 800, all at full speed.

4- little speed difference, if any, between openGL and direct3D apps.

5- no system BSOD's

6- memory doesn't seem to be an issue, I've got 2gb, and minimal processes running, about 25-30, winxp SP2, No funky screensavers or wallpapers or helper applications to clutter the system.

7- base graphics driver settings are pretty much what they've always been, changing and playing with them seems to have no effect.

8- changing the CPU multiplier directly affects DosBox performance, with 17x I get 24-30 fps in Duke3d using Duke's Vesa 2.0 800x600 mode. The performance is the same whether windowed or fullscreen. dropping the multipler results in a direct performance decrease all the way down to 4 fps with 6x. That leads me to believe the issue is CPU speed problem.

A thought, DosBox places various loads on the system's cpu. Yes, we can agree on that. So during a light load period, the cpu "senses" that and begins to drop the multiplier from 17x - 14x - 12x - 10x - 8x - 6x. Now, when DosBox goes to "Get more power", it checks what speed the system cpu is at. And finds it running slower, say 10x multiplier, and DosBox figures that it and asks only what a 10x setting can offer in terms of cycles. Then another slow period rolls around, the system cpu sees no major load and drops further. By now, DosBox sees a 6x cpu running at 600MHz and figures it can only do a small amount of cycles. So therefore in lies the performance decrease.

So like I said, setting an always-on, high performance power profile in windows, sets the system cpu at full speed 17x (1694MHz), DosBox sees that it has 1.7GHz to play with and runs full-tilt! During a quiet period in DosBox, the cpu still presents a 17x multiplier, DosBox sees that, and "knows" it can go full speed ahead when needed.

Several games I have do indeed run too fast in dosbox, so I set the cycles manually anywhere from 3000 to 28,000 depending on what is happening. I don't recall any game or app where dosbox is running too slow or getting bogged down.

in case I didn't mention it, windowed or fullscreen modes or different resolutions or drawing methods have little or no effect on fps or multiplier demands.