Copyright: Morrowind FPS Optimizer v1.91 help


Morrowind FPS Optimizer v1.91 help topics:

Why should I use it?

How can I use it?

What is N-Patch (aka ATI TruForm)?

Tips and Tricks

Known problems

Features

Version history

Updates? Feedback?

Thanks to...

Disclaimer

Context sensitive help is available by right-clicking on the appropriate program control, or pressing F1 when the control has "focus".Help on edit boxes is generally only by pressing F1 in them.

You must be using one of the following Morrowind versions:

 * v1.4.1313 (Tribunal)

 * v1.3.1029 (Tribunal)

 * v1.2.0812 (French/German)

 * v1.2.0722

 * v1.1.0605

 * v1.0

If you Morrowind version is listed above but Morrowind FPS Optimizer says that it can not validate Morrowind process then please do the following to help the author (and you) in locating the source of the problem:

 * 1) Load your saved game (any, just to fully activate Morrowind engine). This is very important, as the FPS Optimizer can not correctly validate the Morrowind process until the game is fully loaded and running.

 * 2) Alt-Tab to Morrowind FPS Optimizer.

 * 3) Press "write log" button located on the status page (the one that is always shown first on start-up).

 * 4) This will create a file called "mw_fps_opt.validation.[current GMT date & time].log" in the same folder as "mw_fps_opt.exe" (typically your Morrowind installation folder).  Attach this file attached (you may compress it using WinZip or other WinZip compatible ZIP format) to morrowind@nm.ru. This file contains no personal information about you or your machine; it only has information about the Morrowind process.

If you own version of Morrowind that is not listed above please send your Morrowind.exe attached (zipped, please!) to morrowind@nm.ru so the author will be able to include its support to further releases. I'll send you working version personally.

If Morrowind FPS Optimizer does not launch and reports that you are missing some system DLL's, please use the "Static" version available from www.morrowind.nm.ru. DirectX 8 is also required to run the FPS Optimizer.


Why should I use it?

 Did you notice that, while playing Morrowind, your FPS rate is sometimes very low in towns, but is quite high enough in wilderness areas?  (oh, I guess you did :)  This can make the game unplayable at very low FPS rates, and in the case of higher rates, the benefit is often wasted - you can hardly see the visual improvement after 30 FPS.  This extra FPS can be used to provide better rendering quality (greater View Distance, etc.).

 So, maintaining a stable FPS rate while dynamically changing render quality seems to be a logical solution to this problem. This program is designed to provide just such a feature. Moreover, it provides in-game hotkeys to instantly change render quality parameters.  So, for example, if you usually play with half View Distance you can instantly switch to and from full (and even beyond that) View Distance.

 This program does not degrade or interfere with your Morrowind performance in any way. It does not modify your morrowind.exe or other game files. It works together with the game, helping it to provide better performance by directly retrieving and modifying several in-game parameters. This process is safe because this program validates Morrowind process before any actions, so even if you patch your game, at worst the FPS Optimizer will simply stop doing anything, and report this problem. Because of that it can be probably used with *any* cracked and not very deeply localized morrowind.exe.

 The FPS Optimizer does not write to the system registry or create "hidden" files, or files places in obscure or hard-to-find places on your hard drive. So, if you decide you don't like the FPS Optimizer, you can always erase the program and all its files ("mw_fps_opt.exe", "mw_fps_opt.hlp" and maybe "mw_fps_opt.ini") located in one folder to COMPLETELY remove it from your system.

 This program is absolutely FREE. And this is not a trojan.

 So you will probably like to use this program if:

* you can't "afford" playing Morrowind with all options maximized all the time;

* you want to get more from the game by setting some options beyond their game default maximum value;

* you want to enhance gameplay with rather unique features like TRUFORM (game world geometry smoothness and more correct lightning).

 NOTE: this program is not intended to be a FPS "booster": it is called "optimizer" because you can archive the same performance by adjusting game setting manually. Hopefully, Morrowind FPS Optimizer just does it better: for example, can you continuously change View Distance manually to adopt current View Distance for you local situation?


How can I use it?

 Extract files from archive you get into one folder. You may install to any folder, but best results have been attained by installing directly to your Morrowind installation folder.

 You can start the FPS Optimizer or the game first; either way, as long as they are both running; players running slower systems may find it more effective to launch the FPS Optimizer first, so you don't have to alt-tab back and forth. Win98 users (not WinXP!) may also consider to run Morrowind prior FPS Optimizer because otherwise Morrowind crashes are possible. With the initial program settings you should immediately (if Morrowind process is validated) see a difference in Morrowind performance. Later you can safely close and re-launch Morrowind or the FPS Optimizer while the other is still active without any problems.

 [[[ status page]]]

 When you first start the FPS Optimizer, you will see the "Status" tab. The first checkbox will allow you to toggle between novice and advanced program interface mode. Advanced mode allows more control over program behavior, but is more complex as well; novice users, or those who aren't familiar with video card settings, should use Novice mode.

 The status page also tells you about the current status of the Morrowind process. If you run the FPS Optimizer first, there is a button on the status page to launch the game. If the program reports that the Morrowind process is found but not validated after the Bethesda logo appears then this program may not work with your version of Morrowind (sorry).  If you enable the "trace" checkbox, the status page will contain some debug information (such as current View Distance, indoor/outdoor status and so on) when you play Morrowind (you have to play it in window mode to see this information). This feature is not available in novice mode.

 [[[ NOVICE MODE ]]]

 In this mode you see only "options" property page (one instead of three in advanced mode). Just answer several questions here to customize program settings. If you enable Morrowind FPS Optimizer to automatically adjust View Distance it will maximum possible to keep FPS rate you specify. In fact if originally you setup what constant View Distance you want to have then now you setup constant FPS you want.

 [[[ ADVANCED MODE ]]]

 Here program window consists of more pages (view, misc, n-patch).

 [[[ view page]]]

 This page is solely designed fo View Distance management. A most important checkbox is without a doubt "general". It defines wherever Morrowind FPS Optimizer will try to keep specified FPS rate by automatically adjusting View Distance. You can define special FPS rates and wherever they will be used for combats, indoor and menus separately. Menu FPS rate can be forced even then general checkbox is off.

 Then current FPS (or more exactly averaged for the last customizable time period) is in given low/high limits Morrowind FPS Optimizer do not touch View Distance. But once averaged FPS exceed given low/high limits more then customizable time period Morrowind FPS Optimizer starts to change (with given speed and acceleration) View Distance to compensate FPS.

 You can also specify min/max View Distance that can be accessed via auto adjustment and manual (via keys and mouse wheel). Minimal View Distance for the menus can be configured separately. For maximum View Distance you specify its extra over default game maximum.

 You can assign in-game hotkeys to toggle auto View Distance adjustment on/off and increase/decrease, minimize/maximize View Distance. Defining new hotkey is rather simple. You just click your mouse on the desired hotkey bind to set keyboard input focus on it. Then press any desired keyboard key (to erase key bind use ESCAPE key) and click your mouse to somewhere else (other control or maybe other hotkey bind). You can also can enable mouse wheel to perform increase/decrease of the View Distance. Note the meaning of minimize/maximize keys for auto mode: they minimize/maximize View Distance as expected and after you press the same key (minimize or maximize) twice Morrowind FPS Optimizer restore previous View Distance and its auto adjustment. Pressing increase/decrease keys (or mouse wheel) also restore auto adjustment (but not previous View Distance) after time specified below expires.

 The slider at the bottom of the page controls the speed of View Distance change via keys (and/or mouse wheel).

 The last value on the page controls how fast auto View Distance adjustment (if enabled) begins its work after the last manual View Distance modification. Changes you'll make will be kept untouched by auto mode settings during time you've specified. This is quite convenient for creating long-distance screenshots, for instance, by "holding" the view distance you manually set for a period of time. Specified time is in milliseconds; if you want to "hold" your manual setting for 3 seconds, this value should be set to 3000.

 [[[ misc page]]]

 Here you can tune-up some crosshair management features. And enable turbo haggle feature, so next time you start increase/decrease your money you'll see speed increase the more you hold +/- button. Menu mouse cursor movement speed is especially useful for higher resolutions (if fact the higher the resolution the more useful will be this feature). Just check "resolution dependable" checkbox in the beginning to see how it works.

 Here is located controls to increase/decrease music volume by hotkey binds and/or specify default music volumes for different game situations (combat, exploring). You can also specify key to skip current track and start playing the next one.

 Also you can enable AI Distance changing in given (min, max limits) by binding it to corresponding View Distance values. Note, that you can not exceed game default AI Distance here. This was made intentionally to prevent possible game problems (you see AI Distance is a normalized (0.0 .. 0.1) float value). The reason of binding AI Distance - preventing enemy from seeing you (not sure) from long distance than your View Distance is low and of course help performance a little.

 "Separate shadows" option works like this:: turn it on, go to the game, use in-game shadow slider to specify shadow level for the current state you are in (indoor or outdoor).  Next time you change your indoor/outdoor state go to the Morrowind options again and specify shadow level for this state. If you'll change your state again, the Morrowind FPS Optimizer will automatically restore previous shadow level for that state. Your last indoor/outdoor shadow settings will be saved and restored next time you launch Morrowind.

 "Separate gamma" works in the pretty same way.

 "Turbo haggle" increase haggle sum increase/decrease speed the longer you press in-game arrow buttons to increase/decrease it.

 [[[ n-patch page]]]

 While only useful for a few Morrowind players (due video card issues), enabling N-Patch feature will greatly improve smoothness of Morrowind game world objects (especially ones that ought to have smooth forms by default - mushrooms, trees, creatures, etc. This generally is a feature used only on newer ATI Radeon video cards.  See N-Patch page for more details.

 [[[ system page]]]

 The "system" page (which appears in both novice and advanced mode) contains two check boxes allowing you to minimize app to the system tray and running it minimized (useful after you tuned all app options). Also you set the FPS Optimizer to automatically launch Morrowind together when you start the FPS Optimizer.

 It is possible to change process priorities for Morrowind and Morrowind FPS Optimizer (the FPS Optimizer must have the same priority as Morrowind to avoid View Distance changing lags, etc.) to give them more processor power. This setting has immediate effect and only effective if Morrowind process and Morrowind FPS Optimizer are working together.  USE THIS FEATURE WITH CAUTION! Some users have reported experiencing strange effects - such as keyboard lag and degraded ability to play custom MP3 files - when setting the process priority above "normal."

 It also contains poll rate slider which can be used to define how often this program updates Morrowind parameters. Its recommended setting is 55 milliseconds, because the performance impact is insignificant even on this best setting.

 All number edit boxes of the program may automatically alter their content as the they lose keyboard focus to ensure correctness of the supplied information (for example a minimum can not be more than a maximum). All settings are instantly applied (for edit box - after it lose keyboard input focus) and are saved to "mw_fps_opt.ini" located in the same folder as "mw_fps_opt.exe" on the program close and are restored from that file on program open.

 Q: Why some features of Morrowind FPS Optimizer are not described here?

 A: Because they are probably new and I'm too lazy to include them in this help file ;-). Every control element has a tool tip; simply hover your mouse over the control for a second or two (depends on your system settings) to see the information. Usually all new features are described via tool tips.


What is N-Patch (aka ATI TruForm)?

N-Patch page consists of two more sub-pages. One for keyword list and other for N-Patch related options. The later consists of "enabled,..." checkbox, in-game keybind to toggle this feature on/off, base number of segments edit box and other options.

Simply enable this feature to see results (rocks, creatures, etc. - are now much smoother). Use toggle key to see the difference more clearly. If you feel that your video card (you have ATI Radeon 9700+) can handle much smoothness increase value in the base edit box.

To effectively use this feature, you should have ATI Radeon 9500+; earlier Radeon versions (except Radeon8500) claim this feature, but it is emulated in software (or rather poor), rather than hardware-enabled. To the best of our knowledge, this is a feature found only on ATI Radeon video cards.

 In short there are some objects that fit N-Patches and there are that not. "Bad" objects mostly have sharp angles, large flat surfaces (cause bumped objects) or complex compound structure (cause holes). The keyword list determine the ones that fit. For them you can also enable quadratic normal interpolation which improves lightning for objects accepted by the list. Also enabling continuos tessellation (if supported) improves N-Patches by smoothing visible changes between discrete levels of N-Patch segmentation.

 But what can be done with objects rejected by the list? Enable "allow linear position interpolation" for them. This is also form of N-Patch segmentation but is will not warp geometry for "bad" objects it only increase polygon count for them. It help to improve lightning especially if h"together with quadratic one (not linear) for normals" is enabled. Since the greatest effect is usually indoor (also outdoor+night+city) the corresponding checkbox is included. Number of segments is also specified here.

 Note that you can still use that kind (linear) of position interpolation for the objects accepted by the list (turn of "cubic position") but since you can cover all objects with single "[" keyword (see below) functionality described in the previous paragraph became obsolete and will be disabled.

 List of the keywords is for more advanced players (somewhat (as do I :) familiar with TES CS (The Elder Scrolls Construction Set)). You probably know that each object in the Morrowind has its ID string (like "flora_bc_tree_01" or "terrain_rock_ac_01"). Morrowind FPS Optimizer checks ID string of each object to be rendered (only visible in Viewing Frustum ones) to locate in it one of the keywords from its list (they are checked from the top of the list) as a sub-string of that ID string. For example keyword "rock" will enable N-Patch for "terrain_rock_ac_01", "terrain_rock_ac_02" or any "*rock*" ID string. And since all rocks will IMHO look fine with N-Patch enabled it is good idea to add "rock" keyword to the list.

To slightly (generally unnoticeable but sometimes every clock matters :) improve performance place keywords of the most common objects above. For example "flora" means much more objects than "head". Also long keywords do not degrade performance in fact they likely to improve it (note that in case of keyword list we talk about performance on the level of number of CPU clocks and it practically do not influence actual FPS) because then searching substring the number of trailing symbols of the ID equal to the length of the keyword minus one is skipped. So long keywords can be instantly rejected in case of short ID string. (More specifically substring searching algorithm first seeks for the first keyword letter in the ID string and for each found string comparison (for keyword and for the substring of the ID from the found letter) is performed.)

But what number of segments (power) Morrowind FPS Optimizer will use for rendering matched ID string? If you simply add new keywords "as is" like "rock" it will be base number of segments (see edit box above). But more complex behavior is possible: type "rock*2" and Morrowind FPS Optimizer will double base number of segments to render "*rock*" Morrowind objects. List of possible modifiers:

"=<integer>": ignore base number of segments - use specified <integer> only to determine number of segments.

"+<integer>": add <integer> to the base number of segments.

"-<integer>": subtract <integer> from the base number of segments.

"*<float>": base number of segments * <float>.

"/<float>": base number of segments / <float>.

Do not worry these calculations are made only once - not every time object ID is processed. Final number of segments will be used for rendering is displayed in the "final" column. You can also disable (remove check against them) some keywords so they will not be used for object ID matching. Use Gray Plus/Minus keys to change order of the keywords in the list. Use Right-Click menu to reset list to the defaults.

Please note that Morrowind FPS Optimizer will not use that static final value all the time - more distant and small objects will be rendered with reduced number of segments.

If you need to disable N-Patch for some objects that are subset of other objects that need N-Patch you can place keyword of the first group above with modifier "=1". For example "tree=1" and then "flora" (trees are part of the flora: there are "flora_bc_tree_01" and "flora_grass_01", ...).

Well that covers the basics. There is one more type of keywords that have exclamation mark inside of them like, "root!key". They are designed to exclude subset of objects from object specified by "root" keyword (just like previous example with "flora" and "tree"). You can have multiple "root!key" corresponding to one "root" keyword. Keywords of the type "root!key" do not have (and they do not need) modifiers like "root" keywords.

Then Morrowind FPS Optimizer finds that object contain "root1" keyword it then checks the ID of that object for presence of any "key" for each "root1!key". If ID contains even the single one "key" from "root1!key" for this object N-Patch will be disabled (if "allow linear position interpolation" is not activated for objects rejected by the list - this is that case (and also then not one of the "root" keywords matches)). If none of the "key" from "root1!key" is in the ID then "root1" is used to determine the N-Patch segmentation to be used.

So instead of "tree=1" keyword prior "flora" you can use "flora" and "flora!tree" with the same effect. Only in the second case the checks will be much more faster (especially then you have many "root!key" keywords) because "root!key" keywords are only checked if their "root" keywords were matched.

There is special type of "root!key" where "root" is empty so that keywords look like "!key". They are used to exclude objects for which N-Patch is used by default (for some rather weighty considerations (most moving objects), with base segmentation). For example "!cliffracer" has holes if rendered with N-Patch activated.

 Q: Why Morrowind FPS Optimizer use N-Patch for guars, mudcrabs, etc. - I do not use "guar", "mudcrab", ... keywords?

 A: Some Morrowind 3-D objects - mainly living creatures with more complex animation - have slightly different render sequence - Morrowind FPS Optimizer can detect it and enable N-Patch with default base number of segments for them. This check is fast (like test EAX, EAX; jz ...) relative to keyword matching (it is as fast as possible too) and yields good results. Just imagine otherwise we have to add unique keyword for each Morrowind creature - because their ID strings are very slightly unified.

There is some more thing about N-Patch keywords: usage of '[' and ']' symbols. '[' means that keyword must be at the beginning of the string and ']' respectively at the end. So "[p_" match "p_fortify_magicka_b" and not something like "furn_imp_altar_01". '[' and ']' are not not-terminals so you can have keyword "[" and/or "]" that are matching every ID (since each ID string has beginning and end :). That is because Morrowind FPS Optimizer actually envelop each ID with square brackets: [ID]. More precisely for some compound objects like humanoid consisting of several objects (like head, neck, arm, chest,... enough, you know :) the form of the ID is [ID1][ID2] there ID1 stands for compound object name and ID2 for its specific part. For example ID1 = "alvela saram" (NPC name) and ID2 = "B_N_Dark Elf_F_Head_04" (the object ID of Alvela Saram's head).

 Q: Why do you use that crappy ID of objects and not their .NIF file names? There are so many different ID for really the same mesh, like "p_fire_shield_b", "p_fortify_agility_b", ... means the single "misc_potion_bargain_01.nif".

 A: Unfortunately I still can't locate reliable memory offsets to the .NIF file name being currently rendered for all types of objects (only for some).

 Q: Why [ID1][ID2] ID form? Why cares about "alvela saram" - too specific, "B_N_Dark Elf_F_Head_04" is more important - contains "head" keyword?

 A: To handle some other objects like [mudcrab][mesh01 0] - mesh gives no info and "mudcrab" does so. By the way mudcrabs enjoys :) default (w/o any keyword) N-Patch segmentation too. So if you like to disable it for them use "!mudcrab" keyword (but why? they look cooler and do not have geometry artifacts like cliffracers).

 Q: Why "[ex_v_vivecstatue_01]" is not working. I saw this ID in the TES CS.

 A: The problem is actually in the trailing ']' - Morrowind engine actually use [ex_v_vivecstatue_01 *] there * is some number, IDs at least at render stage (then it is intercepted by Morrowind FPS Optimizer).

Note that all keywords must be lowercase. Each keyword (modifier substring do not count) must be less that 256 characters long. Number and sizes of all keywords are limited by the next formula (only enabled keywords count): total size of all keywords (for "root!key" type of keywords size of the "key" should be taken) plus 9 for each "root" keyword and plus one (1) for every "root!key" plus 4 must not exceed 4096. These restrictions are maintained automatically. So do not worry about them. Note that these restrictions are meaningful only for FPS Optimizer keywords (due internal program limitations or more precisely simplifications and optimizations) so no Morrowind mod even most poorly-written can not cause anything to N-Patch subsystem of FPS Optimizer.

 Some notes on default keyword selection:

 * "!banner" and "![ex_v_ban_" (Vivec version) are here because there no much need to N-Patch flat banners (yes banners also fit (likely because they are moving) native N-Patch objects).

 * "[a_" - means armor, "[b_" - body parts, "[c_" - clothes, "[p_" - alchemy potions

 * "[light_" - almost all light sources. NOTE!!!: if N-Patch segmentation for that object is equal to the segmentation used for the linear position interpolation for the objects rejected by the list (if enabled) then I've notice that instead linear interpolation cubic maybe used for some objects for the short time (very unpleasant). That is because DirectX (9.0) / drivers problems (maybe unique for me): activation of linear position interpolation is ignored if discrete number of segments is not changed. So resetting number of segments just prior setting it for real solves this problem that's why I thing something wrong is with DirectX.

 * "[ex_redoran*2" - buildings in Ald-ruhn

 * "menhir*2" huge water rock in the northern Morrowind

 * "hearth" for "furn_redoran_hearth_0?"

 * "[newcabin" - cabin on the ship's nose

 * "[ex_vivec_water" and "[ex_vivec_wspout" - Viver waterfall basins

 * "pit_*2" and "[ex_vivec_g_" - ("in_velothismall_pit_0???") big round stone circles

 * "forge*2" for "furn_de_forge_01"

 * "ex_v_st*2" - "ex_v_stolms_01" and "ex_v_stdeyln_01" - on-roof statues in Vivec

 * "siltstrider?" and "statue*2?" - ("ex_v_vivecstatue_0?") are not enabled because cause slight geometry artifacts (holes).

 * "topshell" (mushroom like building in the Ald-ruhn) is used instead of simply "shell" because "shell" cause interior of the same building to be completely N-Patched - too slow.

 * If you want some fun try "[" keyword to apply TruForm on most objects.

 * The default list of course is not complete. Feel free to experiment with different keywords (that make sense in terms of ID strings of course). If you've found some cool ones that were missed by me please share with me (morrowind@nm.ru) too! They can be included as defaults in the further releases.

 Q: Why Morrowind FPS Optimizer do not use regular expressions (something like "*rock*?1") instead of plain keywords?

 A: For performance reasons. Current assembler keyword matching code is VERY highly effective and fast. And I want to keep it fast.

 Q: Why N-Patch segments > 8 yields the same result as 8 ?

 A: Yes, I know. I think that it is driver / Direct3D or video card limitation (I use ATI Radeon 8500LE). Please, inform me if you have different results.


Tips and Tricks

 * Since your FPS will be more or less constant (near desired FPS rate) so it will be wise to set up [Morrowind.ini]::[Water]::[SurfaceFPS] and [Morrowind.ini]::[PixelWater]::[SurfaceFPS] equal to your desired FPS.

 * Morrowind FPS Optimizer operates MUCH MORE (I can even say w/o any problems) safely under Win2000/XP systems. Win95/98 core cause a great number of crashes related to suspend/resume outer thread operations. Morrowind FPS Optimizer was not tested by author under WinME at all.

 * Game default maximum View Distance actually means 102.6795 meters. And game default minimum is about 36 meters.

 * If you want Morrowind FPS Optimizer for example to maintain FPS in indoor only just set up some huge FPS range in the general FPS area of "view" page (5-99). Your FPS hopefully ;) will always fit this range and View Distance will be left alone while outdoor. Make sure you've also disable separate menu and combat FPS rate in "view" page (uncheck their checkboxes).

 * Setting higher minimum View Distance in "view" page can reduce visible fog trembling (if any) due it is more noticeable then near you.

 * Do not change polling interval in "system" page. 55 msecs (possible minimum) is the best.

 * If your fog is too near most of the time then may be you set too high desired FPS rate which is hardly reachable on your computer system.

 * View Distance beyond 7168 is not normally supported by the game engine and can cause "animation class error" problem (seems to be fixed).

 * You can not see for unlimited range. Your potential area of view is always limited by one currently loaded game world sector and Morrowind FPS Optimizer just somewhat move away fog. So there is no effect for setting View Distance roughly more then twice of the game default maximum. Additionally, with View Distance set beyond game default maximum (7168) you may see newly-loaded parts of the other sectors suddenly come into the view. In spite of that bonus View Distance is very good for instant overview of the game world.

 * You can make Morrowind FPS Optimizer run minimized and auto launching Morrowind on FPS Optimizer startup to avoid some additional mouse clicking. Just enable two corresponding checkboxes in the "system" page.


Known problems

 * Under Win98 Morrowind FPS Optimizer can cause crashes on Morrowind start-up (due Win98 multitasking API problems). In this case please launch Morrowind FPS Optimizer after you have launched Morrowind - use Alt-Tab after you get to the initial Morrowind menu to do this.

 * On R300 some have experienced strange artifacts if "allow linear position interpolation" is activated. Not sure of their origin - all fine on my R200. So maybe "just" driver problems. Anyway disable it if they are happening on your system.

 * With the TruForm feature activated, some game objects (wall, roofs, etc.) are look weird. Reset the TruForm keyword list (via right-click menu) located in the "n-patch" page. If this does not solve problems, disable all keywords and then try to locate keyword that cause problems by sequential keyword enabling (in other words, turn them back on one at a time until the problem happens again). If you have found such a keyword, or if disabling all keywords does not solve the problem, please e-mail me at morrowind@nm.ru.

 * Not really a bug but anyway: if you are using TruForm and close (by usual means, Ctrl+Alt+Del kills it for sure but next time you launch it Morrowind probably will not be validated until you restart it too) Morrowind FPS Optimizer while Morrowind is still running - it will actually (but immediately) be terminated only then you activate Morrowind again. It simply needs to reset TruForm related code located in Morrowind's memory.

 * On some systems you may experience keyboard lag in Morrowind when using Morrowind FPS Optimizer. I've never experienced it by myself, but I'm told by some users that reducing the process priority to normal if it is set to "high" or "above normal" (on FPS Optimizer system page) can solve this problem.

 * There has been one report of corruption of Morrowind.ini file during Morrowind start-up (it crashes). Although it seems to be quite rare please back-up your Morrowind.ini file. If it happens to you and you do not have back-up - do not worry - you can download original Morrowind.ini from my site (www.morrowind.nm.ru) or I can send you original one if you e-mail (morrowind@nm.ru) me. (Morrowind FPS Optimizer do not modify or even read from Morrowind.ini).

 * If you start Morrowind FPS Optimizer and then Morrowind launches it says it can't play some .mp3 files try to launch Morrowind with Morrowind FPS Optimizer minimized to the system tray (system page) via its system tray menu or use 'minimize to system tray' + 'run minimized' + 'run Morrowind on start-up' options on the system page. You can also try launch Morrowind FPS Optimizer after you load your saved game. Not sure what can cause this problem - I do not experience it myself - but probably it lies in specific hardware/software combo.

 * Sometimes Morrowind FPS Optimizer will cause Morrowind crash with message about "actor animation problem". Your current game fortunately will be saved as "Restore". This problem is generally caused by using View Distance beyond game default maximum (7168) (but this problem can arise even without Morrowind FPS Optimizer). Although this problem is seems to be fixed (for all View Distances) please let me know if it periodically happens again. If possible, please also send me packed "Restore" saved game created after crash caused by this problem. Please note that your saved game may not work with my Morrowind depending on the plugins you are using; try to save your game in a common area where no plugin elements are visible (i.e. an outdoor cell with no added buildings or other objects).

 * When applying View Distance changes (with Pixel Shader option on, especially on high View Distance change speed) the water shores are slightly tremble. This is probably a Morrowind "bug", actually a lag in the pixel "re-shading" after changing the view distance, because manually changing view distance in the game menu gives the same result even when the FPS Optimizer is not running.


Morrowind FPS Optimizer features (only some and in no particular order)

 * two interface modes: novice and advanced

 * selective N-Patch (geometry smoothness) application!

 * option to save / load N-Patch keywords to / from external file - maybe useful if you want to supply suitable objects in your mod with "built-in" N-Patch support

 * distance dependent N-Patch tessellation

 * continuous ATI Radeon 9700 TruForm

 * turbo haggle option

 * turbo menu mouse cursor feature

 * music management

 * ability to trace some Morrowind variables

 * quick Morrowind launch button

 * minimize to system tray, run minimized and auto launch Morrowind on start-up

 * change View Distance manually by keyboard keys or mouse wheel

 * instantly minimize / maximize (configurable values, not limited by game defaults) View Distance by keyboard keys

 * automatically change View Distance to keep desired FPS rate

 * key bind to toggle automatic / manual View Distance changing

 * separately configurable View Distance changing speed for automatic / manual modes

 * ability to force menu FPS maintaining even in manual mode

 * ability to force auto-run in combats

 * option to specify separated FPS rate for menus, combats and indoor

 * option to use separated shadow settings for indoor/outdoor areas

 * option to use separated gamma settings for indoor/outdoor areas

 * AI Distance can be bound to View Distance

 * complex crosshair management (toggle on/off key, auto activation, different timeouts)

 * all keyboard key binds are easily configurable

 * all keyboard key binds are easily configurable

 * [TODO??]: larger fonts/interface menus in high-res modes

 * [TODO??]: more quick keys

 * [TODO?]: mouse-wheel emulation in Morrowind

 * [TODO???]: "infinite" view distance

 * [TODO?]: suppress of sometimes near infinite :) number of warning messages then loading saved game w/o some mods

 * [TODO??]: more realistic fog / clipping


Version history

 [v1.9; 23/03/2003]

 * [1.91] completely redesigned User Interface

 * more correct auto View Distance management

 * more advanced N-Patch related options

 * completely redesigned default N-Patch keyword list

 * option to save/load N-Patch keywords to/from file (nice for modders)

 * many small improvements and bug fixes

 [v1.8; 04/12/2002]

 * [1.87] auto kill Morrowind FPS Optimizer after Morrowind exit option (startup page) and some bug fixes

 * [1.86] support for Tribunal v1.4.1313

 * [1.85] more TruForm options (see right-click menu of the keywords list)

 * [1.84] many TruForm related and not related fixes

 * [1.83] some validation problems are fixed

 * [1.82] option to force auto/always run in combats

 * [1.81] improved N-Patch related code

 * selective N-Patch (AKA ATI TruForm) applying - smoother 3-D object shapes

 * distance dependent N-Patch tessellation

 * continuous TruForm is supported (for ATI Radeon 9500/9700)

 [v1.7; 15/11/2002]

 * [1.72] N-Patch geometry enhancement!!! (for ATI Radeon 8500 and higher only)

 * [1.71] turbo menu mouse cursor feature

 * updated to support Tribunal (v1.3.1029)

 * validation report option

 * turbo haggle (yay!, misc page)

 * manual View Distance changing for the given time while in "auto" mode

 * minimizing View Distance up to specified amount

 * music management (volume up/down, play next track)

 * option to use separated gamma settings for indoor/outdoor mode

 * ability to set above normal and high process priorities for Morrowind

 * linear/quadratic View Distance speed acceleration

 * updated to support v1.2.0812 (French/German) Morrowind

 * minor validation bugs fixed

 [v1.6; 17/09/2002]

 * [1.65] "Maximum Shadows Per Object" bug fixed

 * [1.64] "separate shadows" now work on WinXP too

 * [1.63] ability to force menu FPS maintaining even in manual mode (auto2 page)

 * [1.62] "separate shadows" bug fixed: shadows updated for real - not just shadow slider

 * [1.61] "separate shadows" option moved to "common page"

 * crosshair management (misc page)

 * option to separate FPS rate for indoor areas

 * mouse wheel View Distance scrolling is disabled in menus

 * some minor interface fixes

 [v1.5; 06/09/2002]

 * option to use separated shadow settings for indoor/outdoor mode

 * more tips in .hlp file

 [v1.4; 25/08/2002]

 * fixed "LOAD LOCK"

 * more advanced fog anti-trembler (cooldown time)

 [v1.3; 14/08/2002]

 * [SE] big bad "animation class error" problem is seems to be gone

 * can specify separated FPS rate for inventory, dialogs, etc. as well as for combats

 * remove any mouse cursor inventory chopping by ability to reduce View Distance up to 0 while in inventory (hedgehog in fog :)

 * View Distance increase auto-lock when looking to the sky/ground

 * ultimate View Distance lock then Morrowind loads something (saved game, new area)

 * new "auto2" with some advanced options for auto mode

 * mouse wheel fog scrolling ability

 * Morrowind FPS Optimizer / Morrowind options "trace" mode

 * minor bug fixes

 [v1.2; 28/07/2002]

 * updated to support US Morrowind 1.2.0722 version

 [v1.1; 14/07/2002]

 * fixed indoor/outdoor state detection

 * better fog "anti-trembler"

 [v1.0; 03/07/2002]

 * detect current indoor/outdoor status to prevent View Distance jump when exiting from the houses (caves, etc.)

 * View Distance auto lock then its major change to not affect FPS counter (useful while loading other towns so View Distance will not be to high on arrival)

 * help file (+ context sensitive help) instead of usual readme file

 [v0.9; 28/06/2002]

 * validation scan removed (instant validation)

 * now works again with *all known Morrowinds*

 * auto launch Morrowind checkbox

 [v0.8; 23/06/2002]

 * completely redesigned User Interface (+ novice mode)

 * creation of validation log file in case of unsuccessful validation scan

 * Morrowind quick launch

 * better View Distance prediction then it is changing with high speed

 * slightly faster validation scan

 [v0.7; 21/06/2002]

 * now work with Morrowind v1.1 (US) only

 * ability to set View Distance beyond game default minimum value

 [v0.6; 20/06/2002]

 * fixed some problems - now *maybe* work on more systems

 * fixed problems with shadows on View Distance beyond game maximum

 [v0.5; 19/06/2002]

 * binding AI/View Distances ("misc page")

 * maximize View Distance key now set max of "auto" and "manual" separately for each mode

 * fixed restoring as background window from system tray for Win2000

 * add border to all program edit boxes

 [v0.4; 16/06/2002]

 * automatic Morrowind process validation scan checkbox

 * removed obsolete demand to set-up minimum View Distance before validation scan (the scan do not became less reliable)

 * "misc" page (minimizing to system tray + run minimized)

 * auto mode on/off hotkey

 * safer validation

 some source code clean-up

 [v0.3; 14/06/2002]

 * problems with Win2000 seems to be fixed (and probably for WinXP too)

 [v0.2; 12/06/2002]

 * ability to automatically validate Morrowind process

 * no longer annoying unrecoverable messages about inability to read/write DWORD from Morrowind process memory. they are replaced by loosed validation displayed in the "status" page.

 * improved Morrowind process validation algorithm

 * ability to erase key binds using ESCAPE key (which is anyway game predefined)

 * slight less CPU usage then do not specify maximize key in auto mode

 [v0.1; 11/06/2002]

 * first public release


Updates? Feedback?

 * Get the latest program updates at www.morrowind.nm.ru (my homepage) as well as from http://www.lowgenius.com/articles/comp/soft/games/m/mwindfps.htm. You can also visit www.travel.ag.ru/tes/ (Russian), www.balmora.com and www.rpgplanet.com/morrowind/.

 * Any forms of feedback are welcome to e-mail morrowind@nm.ru.

 * My name can be found in the "about" page of the Morrowind FPS Optimizer.


Thanks to (in no particular order)...

 * All who mailed their suggestions and/or troubles to me, especially to "Arhu", "Blue Steel" and "Mazy".

 * MANY THANKS TO John Henry from www.LowGenius.Com for mirror hosting and for editing this help file to clean up my English phrasing ;-).

 * "BlueSteel" for reducing fog "harsh" trembling ideas, and for air/ground fog increase lock idea and some beta-testing.

 * "Rob J" for separate combat FPS rate idea.

 * "MustDETZ" for separate inventory/dialog FPS rate idea.

 * "Lich the Nightmaster" for helping to solve "animation class error" problem.

 * "Yann" for all crosshair and music management ideas.

 * "evan" for separate FPS in indoor idea.

 * "Duncann" for forcing menu FPS in manual mode and process priority option ideas.

 * "Massimo" for minimizing View Distance up to specified amount and manual View Distance changing for the given time while in "auto" mode ideas.

 * "dopefish84" for mouse movement acceleration in menu mode idea.

 * "Damir" for forcing auto/(always :) run in combats idea.

 * Douglas Meline for ideas and support.

 * Dave Fairbank for TRUFORM testing with R300 and pics.

 * Jeff Pinard for Morrowind.exe v1.3.1029.

 * "FRED" for Morrowind.exe v1.2.0812.

 * People from www.rpgdot.com forum for initial support, especially to "Swift Wind".

 Without their feedback it will be hardly possible for me to bring this "thing" to its current state.

 To all people who recognize their names here (thanks again, now personally :): If I've incorrectly wrote you name or maybe you want to be named differently (or not named at all) here please e-mail me (you know the address).


Disclaimer

 This program is freeware and freely distribute "as is". This program don't change code or resources of original game an also don't change OS files. This app do not change system registry and Morrowind.ini as well. List of all action this program perform can be found here. This program is not made, distributed or supported by Bethesda Softworks Inc.

 You can publish this app wherever you like, but please keep original .zip archives intact. Source (available at the www.morrowind.nm.ru) is also free for any usage, except of making fake harmful versions of this app (or I'll find ya and kill ya :).


List of ALL Morrowind FPS Optimizer external actions

 * Read/write to/from Morrowind process memory (using standard ReadProcessMemory / WriteProcessMemory Windows API functions) then you are playing it:

 * write 5 float values corresponding to View Distance. Read only one of them;

 * read float FPS counter;

 * write float AI Distance (when enabled);

 * read interior/exterior state (DWORD), loading state (2 DWORDS), viewing angle (float);

 * read menu (DWORD), combat states (DWORD) when enabled;

 * read(DWORD)/write(2 DWORDS and one WORD) number of shadows;

 * write crosshair state (2 DWORDS, read one of them), read focus state (DWORD) when enabled;

 * play new .mp3 (one DWORD) flag.

 * read current Morrowind render width (DWORD)

 * write auto run (DWORD) and read/write always run (DWORD) flags

 * Use SuspendThread / RestoreThread / GetThreadContext / SetThreadContext to dynamically inject additional (written on inline assembler) executable code (located in memory allocated by CreateFileMapping (on Win9X/ME) or VirtualAllocEx (on Win2000/XP)) to the main Morrowind thread to perform following actions (on Win9X to obtain outer thread handle undocumented method is used):

 * modify gamma level;

 * modify music volume.

 * Static Morrowind code updating (loaded to the memory, not in Morrowind.exe file) to implement following features (all updated (which occurs only then these features are enabled) code is restored on Morrowind FPS Optimizer termination and then these features are disabled):

 * turbo haggle feature (16 bytes patched);

 * turbo menu mouse movement (14 bytes patched);

 * change N-Patch segments.

 TOTAL: 23 values (only 13 of them are updated). NOTE: each of them is accessed (for reading or writing) only if necessary. New process (since v0.9) of detecting addresses of these values is very safe. It involves analyzing of the Morrowind source code. Do not have any bug reports about it.

 * Reading from "HKEY_LOCAL_MACHINE\Software\Bethesda Softworks\Morrowind" windows registry key: values "Installed Path" (to launch Morrowind), "Render Distance" to restore original View Distance on Morrowind FPS Optimizer exit and "Auto Run" to enable auto run disabling in combats then force auto run feature is enabled.

 * Read/write to/from "mw_fps_opt.ini" file located in same folder as "mw_fps_opt.exe" to restore/save Morrowind FPS Optimizer settings on program start up/shutdown.

 * On program start-up internal automatic application executable integrity self-check is performed. This will ensure that it is not infected by some virus. If failed you will be reported immediately and will not be able use this modified version of application.

 SUMMARY: This application do not change content of your hard-drive (except mw_fps_opt.ini file).

 Morrowind FPS Optimizer was written on Microsoft Visual C++ 6.0 Enterprise Edition SP5 using Microsoft Foundation Classes (more than 250 Kb of source code). Source is freely available at the www.morrowind.nm.ru.


Why Morrowind FPS Optimizer is free (hm, why not?)

 I'm personally using this program and want to make it free from errors as much as you do;). Reporting your problems and suggestions can help make it better and better for you (and me).

 Many people wonder why Bethesda did not include similar features in Morrowind. So my second (and may be the most important) goal is to approach that time when they integrate them (or maybe something better) with the game engine. The more people who find Morrowind FPS Optimizer useful, the faster (probably) this will happen (if it happens at all).

 And at last I think it will be fair enough (do not want to violate Bethesda Softworks Inc. End User License Agreement too much) not to additionally charge people who've already paid more than fifty dollars (ok, I just assume that ;) to buy Morrowind. Better spend your money to upgrade your computer :).


Then checked Morrowind FPS Optimizer has more simple user interface... but much less functionality.


Then enabled display different trace information on the status page of Morrowind FPS Optimizer. You have to play Morrowind in window mode to see it. Note that it somewhat reduce Morrowind performance. Do not work in novice mode.


Displays current working state of Morrowind FPS Optimizer.

TRACE NOTES:

 * "LOAD LOCK" appears only if Morrowind FPS Optimizer "thinks" Morrowind is loading something and therefore do not update its in-game timer. This can also happens then FPS is lower then Morrowind FPS Optimizer polling interval. So this is not a bug. "LOAD LOCK" blocks all Morrowind FPS Optimizer activity.

 * "COS LOCK" entirely depends on your current viewing angle. It happens only if it is deviated more then 30 degrees from horizon. It blocks further increase of View Distance - it has no effect on FPS anymore.

 * FPS "HIGH/LOW LOCK" displays amount of cooldown time needed for View Distance to begin changing. FPS range in brackets is the one that will be tried to maintain.

 * View Distance is displayed in internal game units (7168 = 102.6795 meters). Game default (accessible by in-game View Distance slider) limits are 2500..7168.

 * AI Distance is displayed as percents of original range specified by default in-game AI Distance slider. It will never exceed these limits.


You can press this button then you've not already launched Morrowind to launch it from Morrowind FPS Optimizer. This is NOT necessary for normal Morrowind FPS Optimizer functionality and do not give any additional benefits. Consider it as a quick link.


Write validation log to the newly created "mw_fps_opt.validation.[current GMT date & time].log" file located in the same folder as mw_fps_opt.exe. Will be only enabled if your Morrowind can not be validated by current version of FPS Optimizer. Log do not contain anything confidential from your PC. You decide whether it will be e-mailed to me to "morrowind@nm.ru". This log can help to solve validation problems in case you have some specific local version of Morrowind for example.


Just number of percents specified by slider beneath.


This slider says how fast Morrowind View Distance will be changed using increase/decrease hotkeys. Speed is measured as how much percents of View Distance:

 maximum (including View Distance Extra given in "view" page) - minimum (specified in "view" page)

 can be changed per one second.


Enable this checkbox if you want to use your mouse wheel for View Distance scrolling. Disabled by default because it interferes with Morrowind build-in mouse wheel usage for zooming player character when holding first/third-person view key. By the way then this option is off Morrowind FPS Optimizer do not capture mouse at all (as DirectInput object). Disabled in the Morrowind menu mode so it do not nterfere with default mouse wheel scrolling.


Hotkey used to decrease current View Distance while you are playing Morrowind (in Morrowind FPS Optimizer "manual" mode). To erase this hotkey bind press ESC keyboard button.


Hotkey used to increase current View Distance while you are playing Morrowind (in Morrowind FPS Optimizer "manual" mode). To erase this hotkey bind press ESC keyboard button.


Hotkey used to minimize current View Distance while you are playing Morrowind (in Morrowind FPS Optimizer "manual" mode). To erase this hotkey bind press ESC keyboard button.


Hotkey used to maximize current View Distance while you are playing Morrowind in Morrowind FPS Optimizer "manual" mode. In "auto" mode this hotkey toggles on/off maximal View Distance. To erase this hotkey bind press ESC keyboard button.


Hotkey used to switch between "manual" and "auto" modes while you are playing Morrowind. To erase this hotkey bind press ESC keyboard button.


Then checked it enables automatic View Distance adjustment to keep FPS in the given limits.


Time in milliseconds during which Morrowind FPS Optimizer average Morrowind FPS rates. This averaged FPS (not current one) is used in further auto View Distance computations (e.g if this value exceeds max needed FPS during more than cooldown time Morrowind FPS Optimizer begins to increase View Distance to "compensate" this). Higher values help to reduce "one frame FPS drops" (which before could "stick" low View Distance forever) but also lead to the View Distance tremble (partially reduced by high cooldown time). To avoid averaging of View Distance (as before) place 0 in this edit box.


Minimal FPS rate you can live with. While your current FPS rate is less then this value Morrowind FPS Optimizer will be decreasing your View Distance. So do not specify too high values otherwise you'll see only fog ;).


Maximal FPS rate you need. While your current FPS rate is more then this value Morrowind FPS Optimizer will be increasing your View Distance. So if you specify it much bigger then "minimal FPS" your View Distance will be not as high as possible. On the other hand if you are experiencing View Distance sharp trembling make it somewhat bigger.


Minimal View Distance that can be set in Morrowind in Morrowind FPS Optimizer "auto" mode. Game default is 2500. You can lower it till 1700 (values less than 1700 will cause some render artifacts).


This number reflects how fast (in View Distance units per one second) View Distance can be changed in "auto" mode to maintain your FPS in the given limits. Too high values can cause View Distance trembling. In that case just lower that value or increase FPS range (maximal - minimum) a bit.


Time in milliseconds after Morrowind FPS Optimizer will actually begin to increase/decrease View Distance if FPS was constantly low/high during that period. Higher values help to reduce fog trembling but also cause Morrowind FPS Optimizer poorer react on sharp but constant FPS changes.


Use either linear or quadratic View Distance acceleration. Quadratic allows more sharp changes for larger View Distances.


Enable this to use separate FPS rates when calculating View Distance while Morrowind is in menu mode such as some NPC dialog, your inventory or even game system menu. This rate is usually higher then normal to ensure mouse pointer smoothness and you will probably do not want to see as far as usual.


Minimum FPS allowable then Morrowind is in menu mode.


Maximum FPS allowable then Morrowind is in menu mode.


Number of View Distance units to which Morrowind FPS Optimizer will actually decrease View Distance in menu mode. Minimum values for general, indoor and combat are ignored.


Number of View Distance units to which Morrowind FPS Optimizer will actually decrease View Distance then indoor. Only minimum value for menus can override this number.


Number of View Distance units to which Morrowind FPS Optimizer will actually decrease View Distance in case of battles. Because indoor and menu minimum values override this one it can be also named minimum View Distance in the outdoor combats.


Enable this to force FPS (given for menu mode) maintaining even in manual View Distance changing mode (then general checkbox is off). Then you close menus your View Distance will be restored and you are in manual mode again.


Enable this to use separate FPS rates when calculating View Distance while your character in Morrowind is in combat with some monster or NPC. This rate is usually higher then normal to ensure smooth combat and you will probably do not want to see as far as usual. Great for melee fighters.


Enable this to use separate FPS rates when calculating View Distance while your are exploring indoor. Useful if you are experiencing FPS problems indoor.


Minimum FPS allowable then Morrowind is in combat mode.


Maximum FPS allowable then Morrowind is in combat mode.


Minimum FPS allowable then you are indoor.


Maximum FPS allowable then you are indoor.


Time in milliseconds till Morrowind FPS Optimizer will keep temporary manual View Distance change while in "auto" mode.


This value specify the View Distance extra that will be added to game default maximum View Distance (7168). Together they determine the maximum View Distance that can be achieved in both "manual" and "auto" modes. These values has uniform scaling. So for example adding 3584 will mean that your can see up to 50 percents more than by default. This extra View Distance has cap of 14336 (so you can see up to three times farer). Larger values do not improve View Distance anymore because you can not see more then one currently loaded game cell anyway (game engine restriction). In fact cell borders became more and more visible which is probably not good ;).


Switch to next .mp3 track.


Decrease music volume. Can cause game crashes.


Increase music volume. Can cause game crashes.


Number of percents of music volume to increase/decrease per one second.


Enable Morrowind FPS Optimizer to set individual initial music volumes for different game states. Can cause game crashes.


Initial music volume for exploring (anything except battles).


Initial music volume for battles.


Use this key to toggle in-game crosshair on/off.


Then enabled Morrowind FPS Optimizer will automatically enable crosshair then you focus some in-game object (NPC, item). Then focus is lost crosshair will be disabled again.


Additionally disable crosshair after being focused on the same object more then specified time.


Start timeout countdown after you begin or end focusing something. Also with begin option crosshair will disappear right after you are not focusing any object anymore.


One object focusing time (in milliseconds) after which crosshair will be disabled.


Then enabled it dramatically (really, quadratic function of time :) increase haggle value changing speed. Can be extremely useful. 50 seconds to reach 1000000 (ONE MILLION). I bet I am the first one who've done it.


Increase mouse movement speed in Morrowind menus. Great for high resolution modes where mouse movement is very slow and is not affected by default Morrowind mouse speed settings.


Then enabled mouse movement multiplier becomes also Morrowind render resolution dependent (* [current render width] / 640 formula is used).


Mouse movement multiplier in menu mode. Can be also indirectly affected by enabled "resolution dependable" option. If "disabled" - default (unaccelerated) Morrowind mouse behavior is used. To "disable" this feature move speed slider to "x1" position and also uncheck "resolution dependable" checkbox.


Enable running (if disabled) in the beginning of the combats.


Force auto-run feature during combats. Can be toggled on/off using usual Morrowind keyboard auto-run keybind (mouse and joystick keybinds are ignored) during combats. Disabled in Morrowind v1.0 because it do not support auto-run feature.


Then checked Morrowind FPS Optimizer modify AI Distance in "auto" and "manual" modes. It is binded to current View Distance: linearly interpolated between (min AI Distance, min View Distance) and (max AI Distance, max View Distance) "points". But it will never leave game default (0..1000) limits.


Check this to enable separate shadow settings for indoor/outdoor modes. Can be helpful for those who has too high performance impact with full shadows outdoor. HINT: You can now set [Morrowind.ini]::[General]::[Number of Shadows] and ["Maximum Shadows Per Object"] to much higher values.


Check this to enable separate gamma settings for indoor/outdoor modes. IMHO: very good to have brighter gamma indoor. Enable this option with care: to implement this Morrowind FPS Optimizer use new technique that can (I really assume that it can not but for each code there is at least one system where it do not work ;) cause Morrowind to crash. However if it does not have crashed for the first time than it will likely work ok in future (its very stable in that aspect).


AI Distance will be set equal to this value then its corresponding (next value) View Distance value will be reached.


Then this View Distance will be reached AI Distance will be equal to its corresponding (previous value) AI Distance.


Holds list of object ID keywords used to enable (and modify) N-Patch segmentation for specified groups of objects. Objects of the type "root" (w/o '!' symbol inside) are tested (if "root" is the substring of ID being tested) from top to bottom of the list. The first match is used. After that "root!key" keywords are tested (for "root" matched in the previous test). If any "key" is the substring of the ID then N-Patch segmentation is disabled for that ID (object identified by it). Otherwise (and if no "root!key" is present for the matched "root") is enabled with power specified by matched "root" keyword. Keywords of the "!key" type are used to reject objects for which N-Patches are natively (most living beings) applied (with base power). '[' means beginning of the ID and ']' - its end.


Enable in-game N-Patch segmentation. Improve geometry smoothness of appropriate game world objects. This is also called N-Patch or ATI TruForm. So far only ATI cards (Radeon 8500, Radeon>=9200) have its hardware support.


Used to toggle in-game N-Patch segmentation on/off.


Base number of N-Patch segments. Used by default for many creatures and also as a base for specific object modificators located in the keyword list.


The rate of N-Patch segmentation fade then visual size (size / distance) of objects is decreasing. Setting it "highest" means that only the rather close (or large) objects will actually use N-Patch segmentation however this setting do not prohibit the reaching of the maximum limit you have specify for particular object then it is very close. Useful to decrease triangle count at the expense of more distant objects (small) there it will have rather low effect. But however "highest" can cause more visible (and therefore not pleasant) changing of objects then they are coming into N-Patch segmentation zone. Setting continuous tessellation may (not sure since my Radeon8500 can not handle it) help to solve this issue.


Disabling it leads to linear N-Patched object geometry interpolation instead of usual cubic one. Then disabled objects specified by the keyword list are no longer smoothed which is usually not good since list keywords were ultimately chosen to select those objects which benefit from cubic interpolation. Then disabled it also disable (logically) "allow linear position interpolation" located below functionality.


By default it is off. Then activated you 3D-card will also use quadratic (linear) normal interpolation. Has not very strong effect as previous setting but then enabled improve lightning model at the expense of slight (if any) performance drop.


In theory it smoothes changes between fixed (discrete) levels of N-Patch segmentation (especially visible for 1 (default model, no segmentation) and 2 (minimum possible next N-Patch segmentation)) by introducing a number of distinguishable intermediate sub-levels. Can not test it since my 3D-card do not support it. Must be working on ATI R>=300 or Radeon>=9200 (aka TRUFORM 2.0).


Really very cool thing then enabled. You may ask why 'cause it do not change visible geometry shapes? In fact increased number of triangles work very well for improving lightning model since it increase number of normals for which lightning calculations are usually are performed. It can lead to fantastical lightning effects in some places otherwise missed by large triangles of most walls and other large objects. And linear interpolation do not cause geometry artifacts so it can be safely used for objects which are rejected by list keywords. The only drawback of this setting - the number of triangles in the resulting scenes which can be a problem if your video card is not powerful enough. But it can be solved by enabling "only indoor" checkbox and lowering maximum number of N-Patch segments that can be used in this case (located below).


Useful setting since most point light sources are located indoor (they give more effect for good tessellated models than directional ones) and FPS is usually high indoor anyway (if you do not use separated shadows + "Maximum Shadows Per Object" = 4 then indoor :). But at the nights there are also many point light sources in towns. So you may consider disabling this option if you FPS is high enough to benefit from it then outdoor too (indeed Morrowind FPS Optimizer can make even the fastest system to sweat :).


Same as in the previous (quadratic normal interpolation) case. Can improve lighting for linearly geometry tessellated objects even more at some performance cost (have not really notice it on my system). The effect is also somewhat hard to notice (but it is present and very clearly visible in some scenes) in some situations.


Maximum number of N-Patch segments used for linearly geometry tessellated objects rejected by the keyword list (for objects accepted by keyword list cubic position interpolation is used). Since number one (1) as a value of that segmentation would effectively disable this functionality (like disabling "allow linear position interpolation") it is not allowed.


Then checked Morrowind FPS Optimizer will be minimized to the system tray instead of usual task bar.


Then checked next time you launch Morrowind FPS Optimizer it will be initially in minimized state (task bar or system tray).


Then checked next time you launch Morrowind FPS Optimizer it will instantly launch Morrowind. If Morrowind is already launched its window became active. Best used with "run minimized", "minimize to system tray" and "terminate this program..." options enabled too if you are sure that Morrowind FPS Optimizer will validate Morrowind process.


Instruct Morrowind FPS Optimizer to cease its operations if previously launched Morrowind process was terminated (you just quit the game :).


Set Morrowind process base priorities: normal (as usual), above normal (for Win2000 and newer only) and high. Can help Morrowind performance if you have several active background applications (they will be very laggy). Morrowind FPS Optimizer will have the same priority level as Morrowind to avoid its (Morrowind FPS Optimizer) lags. This setting has immediate effect and only effective if Morrowind process and Morrowind FPS Optimizer are working together. May cause "keyboard lag" on some systems!


By default Morrowind FPS Optimizer perform quick executable integrity self-check. This ensures that mw_fps_opt.exe was not modified which can be likely caused by some virus action. This check reports problem and blocks further execution of application. You can disable this check to speed-up application launch (especially in statically linked version).


Just number of milliseconds specified by slider beneath.


Specify how often (in milliseconds) Morrowind FPS Optimizer will update values (View Distance, etc.) of Morrowind process. Increasing this value may improve (VERY slightly) Morrowind performance at the price of jerky View Distance changing (VERY bad). So better leave it at default value (55 msecs).


Morrowind FPS Optimizer will try to maintain this given FPS rate automatically changing current View Distance. Do not specify too high values for your system or you'll probably see only fog.


Then checked Morrowind FPS Optimizer is allowed to increase Morrowind View Distance beyond game default maximum (up to two times (+7168)) then your FPS rate is high enough (your minimum desired FPS + 5) even on game default maximum View Distance.


Then checked Morrowind FPS Optimizer will try to lower (to 1700) Morrowind View Distance then your FPS is less then given minimum desired one. And in menus View Distance can be even 500 if needed.


Then checked Morrowind FPS Optimizer will modify AI Distance in the next way: it is changed from medium to maximum limits, there medium value corresponds to game default minimal View Distance and maximum to game default maximal one. This can result in some Morrowind performance boost as well as not allowing enemies from seeing your from long distance then current View Distance is low (unconfirmed).


Display mw_fps_opt.hlp file located (if you see this text :) in the same folder as mw_fps_opt.exe.