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 installation.

It is a fomod installer, you just select the fps/hz and one of the high/medium/low inis. You don't need to know anything ini related if you use the default settings.

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.

GrassChange parameter enables auto grass toggle when player enters Cities or Interiors. Since there are no grasses in cities, it creates an unnecessary performance drop when grass is enabled, disabling it automatically gets you a lot of performance back (1-2ms in Whiterun in my tests). Default is 1 as in enabled.

LODcitychange parameter toggles LODs off inside city walls. Default is 0 (disabled).

LODinteriorchange parameter toggles LODs off when in interior cells if there are any. Default is 0 (disabled).



[DataLoaded], [PostLoadGame], and [AfterLoadGame] 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
, 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 can add more levels by using the same format [Level10] and so on. Levels are loaded automatically from config.

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.


ENB Support:
You can change enb settings in these levels too. Usage: ENB>filename:category:parameter=value. For example if you want to have SunRays set to true in levels 0-4 but you want to disable them in levels 5-9, you enter:
  • ENB>enbseries.ini:EFFECT:EnableSunRays=true    under each level 0-4
  • ENB>enbseries.ini:EFFECT:EnableSunRays=false   under each level 5-9


Console Commands:
You can run console commands in the levels too. You enter your command like this:
  • CONSOLE>command


Toggle Commands:
You can use toggle console commands in the levels too. Only use these on one level so it will be off for levels 0 to # and on for levels # to 9. You enter them like this:
  • TOGGLE>command   for example TOGGLE>tg  Note: Don't use "TOGGLE>tg" at the same time with GrassChange=1


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


You can send me your config files if you make any good ones.


CREDITS
  • Cangar for testing.
  • Rallyeator for testing.


FUTURE

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