FPS Adjuster
Description
FPS Adjuster changes the View Distance (found in Display Settings) based on your FPS so that you will not get low FPS even in populated towns or otherwise heavy-duty enviroments.
It works by averaging out your FPS during a small moment of time and if that average goes too far from the value chosen by the user (user can define this treshold as well), it starts changing the View Distance accordingly (the speed can be modified by the user). The user can define the minimum and maximum View Distance the addon is allowed to set.
One big annoyance is that the ROM client many a times throws you into a windowed state (when you alt+tab actively in and out of the game) and sets the resolution setting at Display Settings to 800*600 (if apply is pressed during this time, the user is thrown into that resolution), so the user must tell FPS Adjuster when the Display settings are correct (so we can save them) so that if this happens, the addon can set the resolution back to what it is supposed to be so that the screen won't start flickering back and forth and the user doesn't have to change the resolution back to the one he uses.
Usage
FPS Adjuster will not start adjusting your FPS if you do not set the following values:
Saving Display Settings - open your display settings, set them to what you want them to be and use this slash command to save them into FPS Adjuster
'/fps getset'
After setting the display settings, you can essentially begin using FPS Adjuster without making any further adjustments (by default, it will react if your FPS goes below 27 - then it reduces the view distance - or higher than 40 - then it increases it), but depending on your system and how it performs within the game, you may want to tweak it to fit your system better, you can use the following commands to do so:
The most simplest and most recommeded changes to make as a new user are changing the 'optimal' & 'treshold' values to suit your system (default values are set to suit lower-end systems or systems who run the game with very high graphical options in general). If your FPS value is normally between 70 and 100, you may wish to change the View Distance limits in addition to the 'optimal' and 'treshold' values.
Note: When you adjust the values, try make it so that FPS Adjuster would not have to adjust anything unless you walked into or out of a very populated / heavy area, because when the addon presses the "Apply" button on the display settings frame (yes, I press the button from lua :p), there is a small lag when the new settings are set in (not always though).
Slash Commands used to tweak the FPS Adjuster:
Enable / Disable FPS Adjuster
'/fps'
Change start delay (if your game loads very slowly, increase this) Default value is 20 seconds
'/fps delay <value>' -value between 10 and 60
Changes the FPS value that the addon tries to upkeep (Default: 33)
'/fps optimal <value>' -value between 1 and 99
Changes the amount that FPS can vary around the optimal value before taking action (Default:6)
'/fps th <value>' -value between 1 and 49
Sets the minimum value of View Distance that the addon is allowed to set: (Default: 600)
'/fps low <value>' -value between 400 and 2000
Sets the maximum value of View Distance that the addon is allowed to set: (Default: 1200)
'/fps high <value>' -value between 600 and 3500
Sets the ratio of View Distance that the addon will change at a time (it will progress in steps, this modifies the step size, by default, a step is 20% of the difference between minimum and maximum View Distances if the average FPS is further away from optimal than treshold, and 40% if the average fps is further away from minimum than 2x treshold) (Default: 1)
'/fps speed <value>' -value between 0.1 and 4
Sets the amount of time (in full seconds) that the addon includes in averaging FPS (low value = faster response to FPS changes, big value = smoother response that will ignore longer random FPS nooks): (Default: 4)
'/fps avg <value>' -value between 1 and 6, integers only (1,2,3,4,5 or 6)
Known Weird Things
If you alt-tab away from the game, the FPS rating will go so low that the Adjuster will most likely set your View Distance to the minimum, but it will be corrected shortly after you return to the game.
Sometimes alt-tabbing will force your ROM client to go into windowed state even though you were using fullscreen, FPS Adjuster will try to get you back into fullscreen when it changes the view distance (by setting the correct display settings excluding windowed mode, then applying, then correcting the window mode at the next change). Sometimes changing windowed mode back to fullscreen from lua doesn't work correctly and the game will keep throwing it back into windowed mode, if this happens, double click on the title to "maximize" the ROM window, this should let FPS Adjuster change the resolution & windowed settings back to normal without any screen flicker whatsoever.
However, sometimes this cannot be corrected (no idea why,as I do exactly the same thing as one would when manually fixing it) and you must manually turn the resolution & window mode back, it is recommeded that if that happens, you would disable fps (by writing '/fps') until you have turned the resolution & fullscreen mode back.
There is no config frame for this addon, because the time require to make that frame is about a 100 times bigger than implementing them as slash commands (there aren't that many, and you will not be setting them more than a few times as you tweak it to suit your system), however, as the settings are only simple variable, anyone is welcome to create a config frame if they wish :)
v1.2
-Lenghtened the default start delay to 20 seconds and added a slash command ('/fps delay <value>') so that users can change it if they need to.
v1.1
-Added slash command '/fps getset', which gets the current display settings to ensure they stay that way. This function must be run or FPS Adjuster will not do anything, also, whenever you change your display settings, you must use this slash command afterwards.
v1.01
-Created