PDA

View Full Version : Ultima VII Complete Collection - Lag



The Kind Knido
2013-09-14, 06:40 AM
I very recently picked up the Ultima VII collection from GoG in high hopes of finding a good RPG to play (I also got the Avernum Collection because I remember playing a demo of one of thoseyears ago, though it may have been Geneforge. I remember playing both, though, so it's not entirely a horrible transaction) and naturally, it doesn't run well.

I've searched all over the place for a fix to the insane amount of audio and visual lag this game presents. The opening cinematic with the logo, the Avatar slamming his computer, the moongate, and the Guardian are very laggy and have a very annoying audio click and stutter that refuses to be fixed. Once I began the game and met Iolo, it continues to do just that. The movement is lagged so horrifically I can't do a thing. I'm baffled to how anyone can get this to run smoothly at all. I've tried all the settings DosBox and the game itself came with and everything ended up resulting in the same things.

Related to this, everyone has said "Get Exult. It's smooth and stuff" but when I go to the site to pick it up, there's a whole list of files and no sort of Exult.exe for download or anything of the sort.

On top of that, I've heard that Exult is not the actual game and that it just takes all the codes and sprites from the game (I know DosBox is kinda like that and that's it's intended as emulation) and basically "remakes" it. On top of that, people have said that is has a glitch where it deleted objects from the game, so that's out of the question.

If anyone is some ultimate expert at running Dos games smoothly/how they were meant to be played, what would be your approach at fixing this game?

Slayn82
2013-09-14, 09:07 AM
Looks like the clock the game is running isn't very well adjusted by the DOSBox. I've learned a lot about this kind of trouble trying to play the old Magic: the Gathering licensed Shandalar game, who used some weird coding that makes it run more or less like a whole day of real time playing in a second. Anyway, quoting from this link found on Google: (http://ocremix.org/forums/archive/index.php/t-4911.html)



Adjustments...

So now you've got your game up and running, but the speed seems a bit off. If the game's running too fast, hold "Ctrl" and tap "F11" to lower the number of cycles (this slows DOSBox down). If it's running too slow, hold "Ctrl" and tap "F12" to raise the cycles (this speeds DOSBox up). The number of cycles you're running will be along the top of the DOSBox window. These commands will help get the game you're running to a more normal speed. However, do note that DOSBox can't run every game at a super spiffy speed. Some like MechWarrior 2 or The Elder Scrolls: Arena will run slower than they would have on a good PC back in their day. This is because DOSBox is emulating an DOS environment, which takes processing power by your PC. As a result, the better PC you have, the more you'll be able to speed up the game you're playing. You can make tweaks to the text lines within the ".conf" file, but they'll only go so far. In time, DOSBox will improve and use less processing power, giving the user more of their PC's muscle to use. But as it is, it still does a very good job with a lot of games.

There's also one last thing you can easily use to help a game speed up a bit, or to fix various other performance issues... frame skipping. What it does, is tell DOSBox to literally skip a part of the graphical rendering process within a set a ten frames. So if you set the frame skip to "1", it'll skip one frame in every ten frames being rendered (in both 2D and 3D games). This helps issues like stuttering or crackling sound effects and music, and it can also help the game run a bit quicker. To use this option, hold "Ctrl" and hit "F8" to raise the number of skipped frames, and "F7" to lower it. Do keep in mind, that if you go overboard, your game will get pretty choppy. So try and keep it to between 1 and 3.


How far can you push it?

So now that you know about adjusting what are called "cycles" in DOSBox, just how high can you crank it? Well, there's a very simple way to find out...

First, hit "Alt", "Ctrl" and "Delete" at the same time. This brings up the Windows Task Manager. In this new window, click on the tab along the top that says "Performance". Here you'll see four windows... two long, and two short. Pay attention to the short window in the upper left under "CPU Usage".

With this window open, start up DOSBox, and run the game you want to play that's chugging a bit. Get it to an actual gameplay area (like say, the first mission in MechWarrior 2, or the first dungeon in The Elder Scrolls: Arena) and see where the percentage is under the "CPU Usage" window.

The thing to take heed of, is what type of processor you have. If you have a Hyper Threading Pentium 4, or a similar dual core(ish) processor, know that the highest you'll be able to push the percentage is 50% (50% for each core or "Thread"). If you have a different type of processor that doesn't use Hyper Threading or have a dual core, your number will go up to 100% (note- even if a Hyper Threading processor says 50%, you're still getting full capacity. It's just the way things are read. You're not getting gypped in performance).

Now, once you know what percentage you'll be able to reach, hold down "Ctrl", and begin tapping "F12" to increase the amount of cycles. As you do this, you'll see your CPU Usage level climb. Try not to go above 40% for Hyper Threading/Dual Core systems, and 80% for single core systems. You want to make sure you leave enough room for your CPU to grab power if it's needed, and you don't want your CPU to be constantly running full bore.

As an example, when I run MechWarrior 2 and The Elder Scrolls: Arena, I can crank the cycles up to 30,000 with my Pentium 4 3.00E GHz Hyper Threading CPU. This makes those two games run very smoothly, and it still leaves room for extra power if it's needed during an intense part of the action. Doom and Doom II also run fluidly at this number.

If you're on an older PC, you probably won't be able to push this thing much higher than say 10,000 cycles. But for those with faster CPUs, this'll be a godsend.


So, yes, frameskiping and cycle adjust should help. It varies too much with your system setup, and the fine tunning is all up to your judgement.

Psyren
2013-09-14, 04:43 PM
Note that the GoG forums are generally a very good place to get tech support for their refurbished games as well.

The Kind Knido
2013-09-14, 06:29 PM
Adjusting the frame cycle was the thing I tried the most. If it's 5000 or lower, it's the same; if it's above 10,000 or even 40,000, it's the same (1 basically paused it).

I'm sure I looked through all the threads on GoG for this game, and that's where I found the information on Exult.

factotum
2013-09-15, 02:16 AM
Exult is basically the game program rebuilt in Windows--it uses all the art assets etc. from the original game, though. I would give it a try if I were you, it can't work any worse than what you have now and it doesn't affect the original GoG install at all, so you can always go back to that if you don't like what Exult does.

(You can find Exult here if you want to check it out: http://exult.sourceforge.net/)

If you're still determined to fix the DOSBox version, you could try altering the mixer buffer size in the DOSBOX.CONF file for U7--that will often fix crackly audio etc. at the expense of adding a little delay in the sound (e.g. it'll play a fraction of a second later than it should do).

The Kind Knido
2013-09-15, 06:08 AM
Well, damn. Exult runs the game far worse than DosBox does. This is a strange conundrum indeed; I do remember running The Elder Scrolls: Arena and Daggerfall fine on DosBox though those were the days when the computer could actually do things as it should.

Case closed. This computer can't even handle DOS emulation. Incredible.

factotum
2013-09-15, 01:51 PM
There were plenty of real honest-to-goodness DOS machines that couldn't handle Ultima 7, believe me--the weird memory manager they wrote for it was very good at bringing machines to their knees with only the lightest pathetic whimper to show anything was actually happening. Surprising that Exult suffers the same problems, though.