Mods / Adaptive Graphics
Author: ozenzoen
Side: Client
Created: Sep 27th at 6:08 PM
Last modified: Sep 29th at 9:17 AM
Downloads: 499
Follow Unfollow 33
Latest release (for Vintage Story 1.21.0 and 1.21.1, potentially outdated):
adaptivegraphics_0.0.2.zip
1-click install
WARNING: The mod is currently in its testing phase. Unexpected results, and instability may occur. User feedback is highly appreciated!
Automatically adjusts your graphics settings based on a desired target FPS!
This mod aims to improve your Vintage Story experience by changing graphical settings to achieve a user-set target FPS, in the hopes of achieving a smoother gameplay based on changing circumstances. Included features are:
- Tracking of the game's Frames per Second to determine if certain settings should be decreased or increased
- Completely configurable according to your preferences and hardware
- Last resort option to bring down shader qualities one step further when the target FPS can't be achieved, at the cost of quality
- Minimal FPS counter on the bottom left of the screen
Recommended to be configured with Config Lib by Maltiez.
Configurable by changing values in the provided config file AdaptiveGraphics.json inside ModConfig folder.
Note on default values: These are the initial settings used in testing, actual default values may still change.
TargetFPS- The user desired FPS to achieveShowFPS- Shows a simple FPS indicator on the bottom leftToleranceFPS- The lower/upper bounds of the target fps, dictates sensitivity to changeAllowLastResort- If all options to lower settings have been exhausted, allow to lower each shader quality (SSAO, shadow) by one to try and achieve target fpsMinViewDistance,MaxViewDistance- The distances in which the mod can automatically adjust toViewDistanceStep- How near/far blocks are adjusted to the view distance when automatically adjustingAllowChangeShaderSettings- Allows to automatically change both shader settings (SSAO and Shadow). Typically causes stuttering as shaders are reloaded but less noticeable over timeAllowChangeShaderShadowSettings- Allows to automatically change shadow quality settings. No effect ifAllowChangeShaderSettingsis disabledBaseShadowQuality,MaxShadowQuality- The base quality is what you set usually set as your default. The maximum tells the mod how high it can set shadows
0 - Off
1 - Low
2 - Medium
3 - High
4 - Very HighAllowChangeShaderSSAOSettings- same asAllowChangeShaderShadowSettingsbut for SSAO qualityBaseSSAOQuality,MaxSSAOQuality- same asBaseShadowQuality,MaxShadowQualitybut for SSAO quality
0 - Off
1 - Medium
2 - High
The next set of configurations are advanced settings, they are generally not changed unless you understand the changes
FpsSampleDuration- The duration (seconds) of the rolling window for average FPS, which will then compared against the Target FPS. Setting this lower cause more sudden changes, higher cause slower changesAsymmetricPercentage- Percentage to skew the Tolerance for theTargetFPS, setting this to0disables this. In effect, this makes reaction quicker when fps falls below the target, react conservatively when fps risesFpsTrendDuration- The duration (seconds) to confirm a trend is sustained before an outlier FPS will be used in computing the average. Recommended is 3-5OutlierTolerance- FPS is considered an outlier outside these bounds. This is multiplied to the average of the FPS sampled within theFpsSampleDurationSettleInitial- Wait period (seconds) to let the FPS settle before making adjustments initially on game startSettleAfterAdjust- Wait period to let the FPS settle after making adjustments to the graphical settingsSettleAfterPause- Wait period to let the FPS settle after pausing. Used for external settings such as an external frame limiter in use when game is out of focusSamplingInterval- How often (seconds) FPS calculated and collected
- Server error from trying to save config through ConfigLib (fixed in next release)
- Flicker observed from the sky occurs when view distance is changed (Limitation?)
- Stutters when changing settings that requires a shader reload (SSAO Quality, Shadow Quality). These lessen eventually as the stutters hit hardest when initially reloading the shaders for the set quality
- Documentation
- Minimize oscillations if present
- Configuration presets
- Dynamic view distance steps
- Environment aware (Caves, Below ground, Day/Night)
- FPS Cap compatibility
- Testing on different averaging methods
Feedbacks, suggestions, and support are all welcome and appreciated! You can reach me in the Vintage Story discord server.
| Mod Version | For Game version | Downloads | Released | Changelog | Download | 1-click mod install* |
|---|---|---|---|---|---|---|
| 0.0.2 | 428 | Sep 29th at 9:17 AM | adaptivegraphics_0.0.2.zip | 1-click install | ||
|
Added:
Fixed:
| ||||||
| 0.0.1 | 71 | Sep 27th at 6:15 PM | adaptivegraphics_0.0.1.zip | 1-click install | ||
|
Initial test release | ||||||
It seems that it does not work well with the volumetric shading refreshed mod.
eerino Yes, it's the $7 tool on Steam. It lets you use FSR and frame gen in games that don't natively support them. I just use 2x framegen with Vintage Story, it's not a true 120fps but it's good enough to keep the game from triggering headaches for me.
ShaeTsu I'm in the same boat and playing with many mods and trying to cope with the stuttering. I have a 10-core 16gb memory mac mini m4. You mentioned Lossless Scaling and I had to google it. You're using the $7 utility on steam? If so, and its helping you, I might consider getting it. I just need anything that might help– other than giving up my mods lol
Hey there! 👋
First off, I just want to say thank you for creating such an awesome mod. Adaptive Graphics has genuinely improved my gameplay experience and feels like the kind of feature Vintage Story always needed — it’s smart, smooth, and super fun to tweak!
While testing it on my setup (mid-high system with shaders and mods like Volumetric Shading), I noticed something interesting: performance tends to dip in certain biomes (especially dense forests) and during storms, and the mod does try to adapt — but it keeps bouncing back and forth rapidly between settings as soon as conditions change again.
That got me thinking:
Would it be possible to make the system respond based on environmental triggers instead of just framerate trends? For example:
When entering a forest biome, automatically lower view distance or shadow quality, since visibility isn’t as important there.
When a storm event begins, temporarily switch to a lower performance profile until the event ends.
Then, when leaving those areas or the weather clears, smoothly restore previous settings.
This might help reduce constant “back and forth” adjustments and make transitions feel more natural and purposeful, rather than reactionary to short FPS dips. Even a simple “biome or weather sensitivity” toggle in the config could go a long way!
I totally understand that this might be outside the mod’s current focus, and I might be trying to stretch it beyond its original goal — but I figured I’d share the idea in case it sparks something. I’m still learning modding and coding myself, so I really appreciate the effort and depth that goes into something like this.
Thanks again for all your work and for keeping the game so smooth and customizable. Adaptive Graphics already feels like a hidden gem — just thought I’d pass along an idea from a happy tester! 😄🌿
— Salem (curious gamer & shader tinkerer 💚)
This mod is black magic for someone like me whose PC is on the edge of "good enough to run vanilla at stable 120fps" and "barely manages 60fps heavily modded", and gets headaches from low/inconsistent FPS. Capped ingame FPS at 60, changed target FPS to match in the config, and using Lossless Scaling I'm able to get an extremely stable and convincing "120fps" in heavily modded worlds.
Is there anything that allows the mod to dynamically adjust the internal resolution?
pngwn All right! You could also set `SettleAfterPause` to 1 for it to not run adjustments while paused or in the background.
eerino Not a silly question! I haven't tested on a mac but it should work. These are all ingame setting adjustments.
might be a silly question but would this work on Mac?
ozenzoen I'll keep playing with it and let you know if it happens again. I can give you my current settings as well:
pngwn Hello, I tried recreating this by pausing the game and letting the mod run but haven't crashed yet. If you could give me a bit more info that would really help. Does it still happen?
blacksheepboy Thanks! Hope you've had better temp storms with this mod on!
very cool idea and sounds like an involved project. my game crashes during temp storms due to my ancient rig so excited to give this a try!
I had my game crash while using this, I'm not sure if it caused the crash for sure but it had never crashed when using any of the other mods. I had the game paused when the crash occured:
Thanks for the quick response, ozenzoen, I was able to change the min view distance without a ctd now.
Genom Glad to hear that, thanks! I've introduced a fix in 0.0.2 for a crash, which I believe should fix what you described. I would appreciate it if you let me know if it still happens!
Great mod, makes my gameplay feel much more smooth and I didn't feel like the quality was changing significantly!
One thing I noticed is that when trying to change the options in game via ConfigLib it made the game crash (wanted to change FPS Counter, since it obstructs the HUD mod and wanted to increase min view distance, game ctd both times)