Victor Farbau's FPS Saver (proof of concept state)
1. What is it? 2. How does it work? 3. Which settings are being used?
1. What is it? VFFPSS is an addon to be used on client machines (it will quit on servers). It is a logic object that can be placed in custom missions and it will be run once the mission starts. VFFPSS will take measures to dynamically adjust quality settings in order to squeeze out more FPS. Why is this a game logic and not a standard addon to be used in all missions / campaigns? It is in a POC state (proof of concept) and I need to put more work into this should this be found useful by more people then myself; and actually myself as well So, enter the editor and place a logic object "VFFPSS Logic" on your map and off you go.
2. How does it work? VFFPSS constantly measures the current FPS performance. There's a wonderful new function in Arma 2 that makes this a piece of cake. I guess some sort of performance management like this one is what BIS had in mind when making this available for scripters. So, if the current FPS rate drops below a certain limit the addon will start to decrease the terrain detail step by step. If the lowest possible terrain detail is reached it will start lowering the viewdistance. The terrain detail will not be lowered to an extent that all grass is disabled. That would just affect gameplay too much. Besides, it looks really like OFP then If your performance goes up again the viewdistance and after that the terraindetail will be gradually increased again. If you want to provoke a quick increase in quality you might want to look into the skies for a few seconds. That usually helps to raise the fps rate real quick.
As an extra measure the terrain detail is always set to lowest values if you are in a vehicle and your speed is bigger than 0 km/h. Rationale here is to save fps without too much impact (normally you shouldn't notice) in order to maintain a bigger viewdistance as long as possible. Once the vehicle stops the terrain detail will be restored based on your current fps performance. There is certainly room for improvement here; like autosettings when in an aircraft etc.
3. Which settings are being used? Question: how can I use my own perferences? Answer: currently you can't; this is a proof-of-concept addon. If this works acceptable I will enable custom paramter setting. At the moment the only way is to decompile the addon, change the values directly in the script and re-compile it. Experiences scripters can easily do that.
Currently these values are default. I found them working best on my machine: FPSSdebug = 0; // If you set this to 1 (debug console, scripts, however) VFFPSS will output performance data and messages. FPSSenable = 1; // This is set to 1 by default. If you set it to 0 the main script will be quit for good. _minvd = 400; // Your minimum viewdistance. 400 is ok in cities, too low in open spaces though. _maxvd = 4000; // My preference. Beyond that is usually not benefical for me. _minfps = 25; // Below this fps rate VFFPSS will start to decrease quality. _maxfps = 40; // Above this fps rate VFFPSS will start to increase quality again.
Additional comments: Bascially the addon is useless in air missions so far. You don't want anything to mess with your viewdistance while flying a plane. Also, if the _minfps and _maxfps settings don't fit your video card then the constant switching might even be more annoying then low fps. Having said that, just try it.