Framerate and Performance: Difference between revisions

From Vintage Story Wiki
Marked this version for translation
(→‎Advanced Tips for Maximizing Performance: —added the OptimizeRam in number 12 disable option for those with stutter issues)
(Marked this version for translation)
Line 17: Line 17:
1. If, in Single Player, you run into large lag spikes after a few minutes of play, and you have 8 GB or less RAM, you could be bottlenecked by lack of system memory (in extreme cases it can also crash with OutOfMemory exceptions, including graphics OutOfMemory issues). In the game settings, try reducing view distance to 256 blocks, 192 blocks or even less and then you should be able to run the game on most systems with low RAM: it is also wise to close your web browser and all other running programs. If it's your own computer it is well worth considering purchasing more RAM, upgrading to 16GB ideally. Buying more RAM is quite cost effective in comparison to a new graphics card or CPU.  
1. If, in Single Player, you run into large lag spikes after a few minutes of play, and you have 8 GB or less RAM, you could be bottlenecked by lack of system memory (in extreme cases it can also crash with OutOfMemory exceptions, including graphics OutOfMemory issues). In the game settings, try reducing view distance to 256 blocks, 192 blocks or even less and then you should be able to run the game on most systems with low RAM: it is also wise to close your web browser and all other running programs. If it's your own computer it is well worth considering purchasing more RAM, upgrading to 16GB ideally. Buying more RAM is quite cost effective in comparison to a new graphics card or CPU.  


<!--T:23-->
Another option is to try playing the same game in multiplayer. You can run a dedicated server on another computer on your local network (copy the save file over to it, run VintagestoryServer.exe, and connect to it using its IP address) or you can rent an online server (for example, the VintageHosting service).  A multiplayer game has reduced RAM usage and reduced % CPU usage on your gaming computer.  
Another option is to try playing the same game in multiplayer. You can run a dedicated server on another computer on your local network (copy the save file over to it, run VintagestoryServer.exe, and connect to it using its IP address) or you can rent an online server (for example, the VintageHosting service).  A multiplayer game has reduced RAM usage and reduced % CPU usage on your gaming computer.  


Line 25: Line 26:
3. Vintage Story has a wide range of graphics settings.  In the Settings menu, Graphics tab, click "Show all available settings" to see them all.  Adjusting these up or down, and switching on or off the fancier elements, can have a huge effect on performance, especially on older or mid-range graphics cards (GPUs).  The tooltips on each control on the Graphics settings page should give you some pointers.  Switching off Shadows, SSAO and Bloom will have the biggest effect on framerate for most people. Even dropping your Shadows and SSAO from the highest settings down a notch should grant a significant gain in framerate.
3. Vintage Story has a wide range of graphics settings.  In the Settings menu, Graphics tab, click "Show all available settings" to see them all.  Adjusting these up or down, and switching on or off the fancier elements, can have a huge effect on performance, especially on older or mid-range graphics cards (GPUs).  The tooltips on each control on the Graphics settings page should give you some pointers.  Switching off Shadows, SSAO and Bloom will have the biggest effect on framerate for most people. Even dropping your Shadows and SSAO from the highest settings down a notch should grant a significant gain in framerate.


<!--T:24-->
Also check that you didn't limit framerate accidentally in the Graphics settings page by setting "Max FPS" to too low a figure - while tweaking framerate performance it's probably best to set that to Unlimited.
Also check that you didn't limit framerate accidentally in the Graphics settings page by setting "Max FPS" to too low a figure - while tweaking framerate performance it's probably best to set that to Unlimited.


Line 46: Line 48:




<!--T:25-->
6. If your settings seem well adjusted most of the time but you still experience occasional short, stuttering lag spikes especially when moving larger distances across the world, try '''increasing''' the Chunk upload rate limiter setting.  First try increasing it to its maximum setting, fly around the world some distance, and if that has fixed the lag spike problem, in slow steps bring the slider back down to a level which still does not produce lag spikes.  (The game cannot automatically adjust this setting, the correct value depends on the unique combination of your graphics hardware's capabilities, overall system speed, and other adjustable graphics settings such as view distance.)
6. If your settings seem well adjusted most of the time but you still experience occasional short, stuttering lag spikes especially when moving larger distances across the world, try '''increasing''' the Chunk upload rate limiter setting.  First try increasing it to its maximum setting, fly around the world some distance, and if that has fixed the lag spike problem, in slow steps bring the slider back down to a level which still does not produce lag spikes.  (The game cannot automatically adjust this setting, the correct value depends on the unique combination of your graphics hardware's capabilities, overall system speed, and other adjustable graphics settings such as view distance.)






<!--T:26-->
7. In Single player or if using your own server (see #1 above), you can tweak server performance by adjusting the "servermagicnumbers.json".  The magic numbers default values are aimed at a typical Vintage Story multiplayer server with let's say 3 or 4 players, playing over the internet, so some of them can be increased if it's only 1 player on your own machine.
7. In Single player or if using your own server (see #1 above), you can tweak server performance by adjusting the "servermagicnumbers.json".  The magic numbers default values are aimed at a typical Vintage Story multiplayer server with let's say 3 or 4 players, playing over the internet, so some of them can be increased if it's only 1 player on your own machine.




<!--T:27-->
8.  There's a known issue on '''Radeon''' graphics cards - including high end Radeon cards - about GPU availability, more like memory lock contention.  The issue is normally only seen on max graphics settings (with shadows enabled) and is most obvious when moving across the map so that a lot of new map loads, there can be '''noticeable frame rate drops and stutter'''.  Game version 1.15.7 and above has a change that slightly improves this, we hope to do even more to work around it in future versions, but it is a hardware/GPU issue.  For anyone bothered by the issue, a solution is to ease the pressure on the GPU by turning down some of the top end settings (SSAO and Shadows or reduce the MaxFPS) so that the GPU has some idle time each frame.
8.  There's a known issue on '''Radeon''' graphics cards - including high end Radeon cards - about GPU availability, more like memory lock contention.  The issue is normally only seen on max graphics settings (with shadows enabled) and is most obvious when moving across the map so that a lot of new map loads, there can be '''noticeable frame rate drops and stutter'''.  Game version 1.15.7 and above has a change that slightly improves this, we hope to do even more to work around it in future versions, but it is a hardware/GPU issue.  For anyone bothered by the issue, a solution is to ease the pressure on the GPU by turning down some of the top end settings (SSAO and Shadows or reduce the MaxFPS) so that the GPU has some idle time each frame.


<!--T:28-->
9.  The Occlusion Culling graphics setting is recommended on any modern multi-core CPU (4 cores or more) - it uses one additional CPU thread but leads to less work for the GPU. This can drastically increase performance while playing with high render distances.
9.  The Occlusion Culling graphics setting is recommended on any modern multi-core CPU (4 cores or more) - it uses one additional CPU thread but leads to less work for the GPU. This can drastically increase performance while playing with high render distances.


<!--T:29-->
10.  For very low end hardware, it can help to play on worlds that are only 192 or 128 blocks tall.   
10.  For very low end hardware, it can help to play on worlds that are only 192 or 128 blocks tall.   


<!--T:30-->
11.  Some game scenes are more complex and will lead to FPS drops for most players. Examples are deep forests with many leaves, towns with many chiselled blocks, and the Resonance Archives.  
11.  Some game scenes are more complex and will lead to FPS drops for most players. Examples are deep forests with many leaves, towns with many chiselled blocks, and the Resonance Archives.  


<!--T:31-->
12. If you are having issues with stuttering, and have RAM to spare, such as 16gb+ of RAM in your system, you can try disabling the Optimize Ram option. You cannot do this ingame, so you’ll need to navigate to <code>%appdata%</code>  in your file explorer, and locate your <code>VintageStory</code> folder. In there you’ll find <code>clientsettings.json</code>. Find the line that includes <code>OptimizeRam</code> and check to see what value it is set to. It should be set by default to either <code>1</code> or <code>2</code>. If you set this to <code>0</code> and save the file, it will disable the setting the next time you start your game. When in game you can ensure that it is disabled by looking at the Optimize Ram graphics setting and it will have a blank entry. This may improve your issues with stuttering or microstuttering.  
12. If you are having issues with stuttering, and have RAM to spare, such as 16gb+ of RAM in your system, you can try disabling the Optimize Ram option. You cannot do this ingame, so you’ll need to navigate to <code>%appdata%</code>  in your file explorer, and locate your <code>VintageStory</code> folder. In there you’ll find <code>clientsettings.json</code>. Find the line that includes <code>OptimizeRam</code> and check to see what value it is set to. It should be set by default to either <code>1</code> or <code>2</code>. If you set this to <code>0</code> and save the file, it will disable the setting the next time you start your game. When in game you can ensure that it is disabled by looking at the Optimize Ram graphics setting and it will have a blank entry. This may improve your issues with stuttering or microstuttering.  






<!--T:32-->
See also [[Troubleshooting_Guide#Game_Runs_Slow|Troubleshooting Guide]]
See also [[Troubleshooting_Guide#Game_Runs_Slow|Troubleshooting Guide]]


====For Linux users====
====For Linux users==== <!--T:33-->
A simple method to increase performance may be to enable mesa_glthread by running the game with: <code>mesa_glthread=true mono Vintagestory.exe</code><br>. There is a [https://www.vintagestory.at/forums/topic/10479-linux-beginner-guide-mesa_glthread-boost-your-performance-today/ beginners guide] on this on the forums.  
A simple method to increase performance may be to enable mesa_glthread by running the game with: <code>mesa_glthread=true mono Vintagestory.exe</code><br>. There is a [https://www.vintagestory.at/forums/topic/10479-linux-beginner-guide-mesa_glthread-boost-your-performance-today/ beginners guide] on this on the forums.  
One user [https://www.vintagestory.at/forums/topic/6298-boost-linux-performace/ on the forums] suggests running the game with <code>strangle 60 mono ./Vintagestory.exe</code> to fix issues with input lag.
One user [https://www.vintagestory.at/forums/topic/6298-boost-linux-performace/ on the forums] suggests running the game with <code>strangle 60 mono ./Vintagestory.exe</code> to fix issues with input lag.
Confirmedusers, editor
37,784

edits