Skyrim Special Edition
0 of 0

File information

Last updated

Original upload

Created by

Shizof

Uploaded by

Shizof

Virus scan

Safe to use

About this mod

No more reprojections. No more framerate spikes when looking at certain directions. This mod changes ini settings automatically to keep your framerate at target levels.

Requirements
Permissions and credits
Changelogs
This is VR version. If you are looking for the SSE version, go HERE.



DESCRIPTION

This mod is an SKSE plugin that keeps your framerate at target levels by changing the ini settings between predefined 10 Levels from your config values. It prevents crazy framerate changes during game which was only caused by looking at some direction. It is especially useful for people that use Ultra Trees with DynDOLOD.

It also has a console command feature which runs a console command automatically when the game is loaded or opened.

Note that this is an advanced mod which requires knowledge in game ini settings, frametime etc. I suggest reading some guides first if you need info about ini settings.

I suggest using Steam/Developer/Advanced Frame Timing to check your frametime and decide which setting you want to use.



REQUIREMENTS



COMPATIBILITY

NOT compatible with OpenComposite.


INSTALLATION

This mod comes with a fomod installer. Install with a mod manager. It includes an skse plugin dll and a config file only which goes to "Data\Skse\Plugins".

You can choose one of the different configs for your headset refresh rate and mod intensity during ins.

Load order doesn't matter. It can be installed and removed anytime during a save game. 


CONFIGURATION

This mod comes with an ini file: VRFpsStabilizer.ini

It has many parameters. So let's go over them:

[Settings] Section

EnableLog parameter is used to enable or disable logging. Level changes will be printed in the log. The log file is located here:"My Documents\My Games\Skyrim VR\SKSE\VRFpsStabilizerPlugin.log". I suggest a program like mTail to view your log in game. But don't leave this parameter 1 for normal playing because it may cause performance drops.

AutoConfigEnabled parameter enables/disables Fps Stabilizer part of mod. If you only wish to use the console command feature, you can set this to 0.

CheckSleepDuration parameter is the duration between frametime checks. I suggest setting this higher than your max frametime. For example 12 for 90hz, 14 for 80hz.

MinTargetFrameTime and MaxTargetFrameTime parameters are the target frametime values this mod will try to achieve. I suggest leaving at least approximately 1ms between them. Max value should be lower than your max frametime at current hz. You can find your max frametime by this calculation: (1000/HMD refresh rate). Suggested values for 90hz: 8.5-9.5 and for 80hz: 10.0-11.0

FrameTimeChangeThreshold parameter is the frametime change required for checking if another level is more suitable. Suggested value is 0.25. 

LevelChangeBackDownWait and LevelChangeBackUpWait parameters are the wait durations for changing the level in the opposite direction (Lower if it was recently raised, or higher if it is recently decreased). Default is 80 which corresponds to ~5 seconds. Formula: (CheckSleepDuration*5*LevelChangeBackWait)/1000)

LevelChangeBackUpAngle parameter is the the player heading angle change required for changing the level back to higher quality values to prevent flickering lods. Suggested value is 30 degrees. If you still have flickering lods while you are looking at a direction but you are looking around too much, you may want to increase it to 45 or 60.


[DataLoaded] and [PostLoadGame] Sections

In these sections, you can define console commands you want to run when you first open the game, or load the game (For example taa settings etc.).

There are already defined TAA settings in DataLoaded section. Make sure to remove Comment Character (#) to enable those lines if you want to use them.


[Level#] Sections

In these sections from 0 to 9, you define the config values you want the mod to switch to. Unfortunately not all config settings are changeable in-game, I found 3 of them that are changeable and also impact performance.

You enter Config setting and the section of it in the ini separated with a colon (:) like this:

[Level0]
fBlockLevel0Distance:TerrainManager = 100000
fBlockLevel1Distance:TerrainManager = 180500
fTreeLoadDistance:TerrainManager = 180500


I provided levels from 0 to 9 in the ini file. You may need to modify the values for your purposes according to your performance. Make sure you use a linear change between levels.


Mod comes with a fomod installer so you can choose one of the different configs for your headset refresh rate and mod intensity.



CREDITS
  • Cangar for testing.
  • Rallyeator for testing.


FUTURE

  • Let me know if you have any other ideas for the future.