First post, by schmads
So, I've searched the forums for this problem, and googled for it, and have had no luck, so I am posting. I'm going to detail my system and the problems in the hope that it will be a ton of unnecessary work when someone says "well duh, just do that to fix it" and it will be done.
The problem:
Every time I start Dosbox, it shows the console window and then it hangs the entire system (mouse included) for a good 10 seconds. Then it shows the Dosbox window and then it hangs again for 10-30 seconds. Then I can type into the Dosbox window and everything seems fine. If I click on any other windows outside of Dosbox, or run something in Dosbox that changes the screen resolution, or even click the Dosbox titlebar, it freezes again for 10-30 seconds. It seems to run games OK once you let it freeze for a while, so long as it doesn't do any screen mode switching. There is sound, and everything seems to run fast enough. CPU usage doesn't seem to move when the system freezes, though perhaps the CPU monitor just isn't updating because it's frozen.
So, it freezes, but runs games and sound properly. It will run the same whether scalers are enabled or disabled or fullscreen or windowed. I tried changing and disabling just about every option in dosbox.conf, including cpu usage, speed, output, disabling sound and each individual sound emulator, joystick emulation, serial emulation, etc. Nothing changed it.
The workarounds:
I used remote desktop to log into my system and decided to try something and run Dosbox. Bam, it came up perfectly, no lag, freezing, anything. Wha? Very weird. Then I went home and tried running Dosbox, thinking it had fixed itself, and it worked fine. Then I rebooted and it started happening all over again.
Now, rather than remote desktop into my system every time I want to use Dosbox, I started fiddling with other system settings. I turned off sound acceleration and that had no effect. I turned off video hardware acceleration (the slider in the troubleshooting pane) and that worked.
I then decided to run dxdiag and just disable directdraw acceleration. That also would fix it. Unlike remote desktop, though, I have to keep the acceleration disabled for Dosbox to continue to work properly (remote desktop would get it to "stick" working until I rebooted). Disabling just Direct3D or AGP texture acceleration didn't work. This is clearly DirectDraw related.
The software:
I installed Dosbox 0.65. I've never used it before. I do not have any front ends, nor have I done anything except for install it. I have also re-downloaded and installed it once.
I'm running Windows XP SP2 with DirectX 9.0c installed. I run 3D games such as World of Warcraft all the time, so I'm reasonably sure the graphics card is fine. I can run the DirectDraw diagnostic tests in dxdiag and they work fine too, so it seems DirectDraw acceleration isn't completely broken.
Virtual PC, ScummVM (which I found after fiddling with Dosbox, and runs Full Throttle pretty well), etc. all seem to work fine.
The hardware:
I've got an nVidia Geforce 7900GT which I have not overclocked. I have drivers 91.33 loaded. Tonight I will upgrade to the latest drivers (91.47) and hopefully I can post back here saying that it is fixed.
I've got a SoundBlaster Audigy2 ZS with whatever latest drivers Creative has deigned to give us. Wow do they suck at driver updates. Regardless, it doesn't seem to be a sound-related problem.
I've got a dual-monitor setup, but I tried disabling one of the monitors in the display settings and it didn't help. Perhaps this is related, though. I don't seem to have any other multi-monitor problems, though.
I have an Athlon 64 X2 4200+ CPU and 2GB of DDR800. I thought perhaps the dual-core might be the problem, but changing the Dosbox affinity didn't seem to have any effect. Again, since it's a DirectDraw problem (apparently), I don't see that this would be the problem.
I have an SATA redundancy raid array for my boot drive and two additional IDE harddrive set up in a dynamic drive spanned configuration as my second harddrive. I don't see how this would be a problem, but I'm trying to be complete here.
Conclusion:
So, in the end, I can work around the problem by disabling DirectDraw any time that I want to run Dosbox. With it disabled, I can still run 3xadvmame or other filters and it works fine. I haven't tried opengl for the output yet, assuming that it would be disabled regardless, and surface seems to work pretty well. This isn't really a "big" problem, but I've got to assume that I'm getting reduced Dosbox performance (so far all I've run is Rex Nebular, so it doesn't need much for that, but I'd like to run other things too), since the acceleration is disabled, along with it being seriously annoying when it lags my entire system for a while any time I forget to do that before running Dosbox.
I think Dosbox is totally awesome, so this is not a complaint, just a hope that someone can tell me what I'm missing or how to fix it. Thanks for creating such an awesome utility.