PDA

View Full Version : How to run on high priority (Win2K)?



Vanguard
29th Sep 2003, 02:40
I've tried several tweaks to get Thief to run more smoothly on Windows 2000 Pro but alas it always has more jerkiness than I care for. Some good FMs are so jerky all the time that I actually will get an upset stomach (same reason why some folk get nauseous when subjected to strobe lights). About the only tweak that works was lowering the resolution down to 640x480 but that actually results in me seeing less granularity and some lines in the output. Then I happened on upping the priority of the running processes.

After loading Thief (not Darkloader but the actual Thief programs), I could use Task Manager to up the priority for thief[2].exe and thief.icd to High. This made the game play much more smoothly. I noticed that when there was any disk activity (and there is always some disk activity under NT-based Windows) that this was when the more jerk occurred. That's why I started thinking about upping the priority to make the game take priority over whatever disk activity was occurring. It worked. It's not perfectly smooth but it is a lot better. Real-time priority doesn't work well and actually result in my OS hanging.

However, it is a pain to start Thief and then use Task Manager to up the priority (to High) for every process associated with Thief. Plus the switch back to the desktop actually screws up the video color palette so my Windows desktop is way too bright when exiting Thief (I then use Display applet to select the Color tab under Settings --> Advanced which resets the color palette). I also found that setting High priority on the parent process does NOT then enforce High priority on any children processes. Using High priority on darkloader.exe ("start /b /high darkloader.exe") does NOT then make Thief2 itself run at high priority. Instead, Thief2 still loads and runs at Normal priority. I also tried running Thief2 at High priority ("start /b /high thief2.exe") but then the thief.icd child process still runs at Normal priority. To get Thief to run without jerkiness requires that both thief[2].exe and thief.icd run at High priority.

Okay, anyone know how you can configure the priority the priority so Thief and any child process it starts will all run at High priority? Setting High priority for all Thief processes by using Task Manager is a pain.

Stile451
29th Sep 2003, 13:22
I don't know how to do that unless you want to have another program running in the background to do it for you(there are some programs I've linked to in the tid bits thread).


You could also just extract the real exe from the icd file(unsafedisc will do this) and run that at high priority. It would probably help with your performance issue as well since the exe doesn't need to be decrypted when you do this hence there's only one process running.

Mr. Perfect
1st Oct 2003, 00:31
This isn't priority related, but what refresh rate is windows using when you play Thief? If you don't use any 3rd party fixes 2000 uses 60hz, which personally makes my feal sick to my stomach due to the monitor's flickering. I use Windows 2000 and force the refresh to 85Hz, and I haven't noticed any trouble in thief(except that timers are off due to framerates).

If you haven't got a 3rd party refresh utility, check out Refresh Force.

Peter_Smith
1st Oct 2003, 01:54
I don't know about other graphics cards, but Nvidia drivers let you change the refresh rate easily within the Display Properties (all Windows OS versions). It's under Settings / Advanced / Monitor. No 3rd party application is needed.

What graphics card are you using Mr. Perfect? Does it have those settings? If not, I may need to steer clear of that brand....

Vanguard
1st Oct 2003, 19:01
I currently have refresh set to 75 Hz. Going higher will not eliminate the jerkiness in the game. That can be proven by the reduced jerkiness just by upping the priority level for the game while still at the same refresh rate. As you mentioned about a low refresh rate making you sick, the jerkiness does that to me, too.

I've discussed this question in a Windows 2000 newsgroup. No one has an answer. The program can be coded to run at a particular priority level; for example, this is how zombies run on your host at 100% CPU but don't interfere with your use of the machine because they run at very low priority. The end user can up the priority using the Task Manager but only *after* the program has loaded. I can do that, too, but it is a hassle and I was looking for a way to fix it to high priority or have something load it at high priority. Since the user can do it after the program has loaded, there must be some interface or API that can be issued to change a program's priority. I know there are utilities around that will change the video resolution when you load a particular program, especially for games. I was hoping there might be something similar where you could configure the priority of specific programs where you wanted instead of them using whatever they wanted or defaulting to normal priority if they didn't code a choice. Maybe not. Haven't found one yet.

Mr. Perfect
1st Oct 2003, 19:44
Personally, I've not noticed Thief jumping around on my machine under windows 2000. What are the specs on your machine?


Originally posted by Peter Smith
I don't know about other graphics cards, but Nvidia drivers let you change the refresh rate easily within the Display Properties (all Windows OS versions). It's under Settings / Advanced / Monitor. No 3rd party application is needed.

What graphics card are you using Mr. Perfect? Does it have those settings? If not, I may need to steer clear of that brand....

It's a ATI card, and yes it does have that option, however, Windows 2000/XP itself resets the refresh rate regardless of what video card you have. It uses 60hz for OpenGL and 75Hz for DirectX games. This site explains the bug. http://xp-refresh.net/

Mr. Perfect
3rd Oct 2003, 06:36
Just a thought, but I notice you mention you get constand disk access. You could try shutting off the Indexing Service and see if that cuts down on the HD use.

Vanguard
3rd Oct 2003, 16:54
The indexing service was disabled a long time ago. I didn't feel it gave me any bang for the buck (CPU cycles, that is) for all the disk activity.

Mr. Perfect
3rd Oct 2003, 22:10
Hmm. I dunno why your machine is hiting the HD so often then. Never noticed it on either of two machines with 512mb of ram each.

Vanguard
3rd Oct 2003, 23:16
It isn't primarily the disk access that causes the jerk. Disk access while playing the game isn't much different than sitting idle at the desktop: about every 5 to 10 seconds there is a real short disk access and maybe every half minute or so there is a bit more. It is during any disk access that the jerk becomes very noticable but the jerkiness is evident in almost every FM except the tiny ones. FM authors have forgotten the minimum and recommended specs for the game and have instead created overly huge FMs where huge is measured by too many AIs (that also do not float when out of view but far away, or do not stop when you are excessively far from them so they are unimportant), too high a sky over a large layout, high texture counts, too many other moving objects, traps they forget to stop moving after the player has passed them, and so on.

The original FMs play just fine. Shipping and Receiving is the only one with noticable jerk (low framerate) but then every player encounters that problem (and why it gets even worse in the oversized, overly populated FMs). After saving a disk image, I will play with Powerstrip in upping the clock speeds for the engine and memory on the ATI video card to see if I can up the framerate to offset the jerky FMs. But for right now upping the priority often makes the FM play more smoothly, especially in FMs where the author left something "running" when you're not around there anymore. In the last FM that I played, Brotherhood of the Falcon, the last mission started out okay but at some point something or a bunch of somethings got triggered that caused a continual jerk in gameplay that occured about once per second and made moving and looking around rather hard and made me sick. Don't know what the author started running that occurred at 1-second intervals but a restart of that mission again plays okay until some point afterward, like halfway through, when something taking a large number of cycles then starts up. And this isn't because of any disk access. Upping the priority helps FMs play more smoothly but even that didn't help to significantly reduce the jerkiness of this particular FM. Another FM has splat balls constantly fire across a room where pressing buttons spawns apebeasts and a green spider, you can drop through a hole after pressing all the buttons in the corners, but the splat balls continue to fire although you can never get back into that room and the CPU cycles sucked up by that continually running trap becomes evident in the gameplay thereafter remaining jerky.

Upping the priority doesn't help much in cases where too much is left running in the mission that is no longer applicable, but it sure beats having to use msconfig.exe to disable all startup programs and having to do a reboot to get a less busy environment in which to run the game. Upping the priority of a process is the equivalent of making a less busy environment because the game is then the most busy process instead of sharing normal priority with any other tasks. Between using msconfig.exe to bootup with a minimal complement of tasks or upping the priority, the effect is about the same (for me) in making the game run more smoothly, but by upping the priority then I do not have to reboot. Also, upping the priority seems to give me a bit more smoothness in gameplay than disabling startup programs.