Improving your FPS in Rust
Game running slow? Jerky? It could be your frames-per-second (FPS). This guide will attempt to help you, the player, discover methods for improving your fps. First and foremost, you must know where you are starting from, a base point to determine if any changes improve your fps or make it worse.
How to show your current FPS (steam method)
One method is to activate the Steam FPS overlay:
- With the Rust client closed, go under the “Steam” tab of the main Steam program window
- Click “Settings”
- Select the “In-game” side tab.
- “Enable the Steam Overlay while in-game” must be checked.
- Then, under the “In-game FPS counter” dropdown, select a location and check “High contrast color” if desired.
- Now when you play any Steam game, a small FPS counter will appear in the corner that you chose. Here is the results of the settings as shown in the example:
How to show your current FPS (Rust method)
The second method is to have your Rust client show your fps.
- After starting the Rust client, select F1 and go to the console screen.
- Type “perf 1” (without the quotes) and hit ENTER.
Once you connect to a server, your FPS will be shown in the lower left corner, in a large white font. This is only for Rust and will not be shown for other games.
Either method will work. I prefer the smaller font and optional locations of the Steam overlay method.
Causes of poor FPS.
There can be many overlapping causes for poor FPS, but hardware is the number one cause for low FPS. Upgrading your CPU, memory size or Graphics processor can have a MAJOR impact on your FPS and overall game play. If you can afford to go better, do so. If not, let us look at what can be done.
Start by closing other programs on your machine (a fresh reboot is never a bad idea). Next, set the game graphics settings to mid-range values. When starting Rust you should encounter the Unity Launcher window.
Select a resolution that is somewhere in the middle of your choices. Your choices may be different that those shown in the example, as your graphics processor may have more or less resolutions available.
Running full-screen at your native resolution MAY be better than windowed at a lower resolution. This is still being confirmed, but may be different for each computer.
Set quality to “Fast” or “Fastest” - These choices will set certain graphics settings with one easy click. These can be modified later,in-game, via the options menu.
To make changes in game press the ESC key. Do this the first time before joining a server. Then select the options tab (looks like a gear). Here you will find five tabs labeled OPTIONS, GRAPHICS, INPUT, AUDIO and PERFORMANCE.
Three of these tabs, OPTIONS, INPUT and AUDIO, are mostly personal preferences. These settings have negligible effect on FPS. So let’s go over the important tabs, their options and suggested starting points. Change your settings to the low settings shown in parentheses after each item.
- Depth of Field (OFF): Turn this off. Causes blurring around edges that can be VERY annoying..
- Ambient Occlusion (OFF)
- Anti-aliasing (ON)
- High Quality Bloom (OFF)
- Lens Dirt (OFF)
- Sun shafts (OFF)
- Sharpen (OFF)
- Vignet (OFF)
- Color Grading (OFF)
- Graphics Quality (0)
- Water Quality (0)
- Max Shadow Lights (0)
- Shader Level (100)
- Draw Distance (1500) don’t go lower than 1000
- Shadow Cascades (No Cascades)
- Shadow Distance (100)
- Anisotropic Filtering (1)
- Parallax Mapping (0)
- Max Gibs (0)
- Virtual Texturing (OFF, unchecked)
- Particle Quality (0)
- Object Quality (0)
- Tree Quality (0)
- Terrain Quality (0)
- Grass Quality (1)
- Decor Quality (0)
Now you can join a server. Start with a no-pop or low-pop server. Build a small building and get inside. Do this so that you will be safe when you are in the menu making changes. But, realize this is Rust, and anything can happen.
It is recommended that you only make one change at a time. Then go play for a few minutes and see how the change affects your FPS and game play. Obviously if the change causes your FPS to drop dramatically, change it back. Many of these options are sliders, so if increasing something causes issues, try decreasing. Always try small increments at first.
This guide cannot cover every possible issue or every possible solution. Each computer, it’s associated hardware and software, create unique systems. If your FPS is still awful and you can't stand it, come back in a month or so. Rust Experimental is still in active development and optimization is taking a back seat to functionality right now. Here's the good news: This is only temporary. Once enough features are in and more things become finalized, they will put more focus on optimization and this puppy will run smooth as gravy (or something like that).
More things to try
- First and foremost make sure everything is updated, both windows side and driver side.
- Make sure you are using a 64 bit version of windows 7 or newer.
- If on a laptop make sure you are using your dedicated gpu, not your integrated gpu.
- Using under 8GB of ram is NOT recommended.
- Check your drivers manually to make sure they are updated, you can't always rely on an automatic system to update.
- Try running rust in DX9 mode.
- Unpark your cpu cores to spread out your processing load.
- Check your damn temperatures.
- Close background applications that you aren't using, even if they seem to be light weight (MSI afterburner caused performance issues a while back for a bit, so even disable things like that).
- Even if you are on a desktop make sure windows power settings are set to "high performance".
- I am not 100% sure which unity launch options are available, but you can find current ones with a quick google search. They may be able to help you get a few more fps.
- Use task manager to measure RAM usage in game, as other programs outside of rust can cause memory leaks, even things like network driver applications and the like can cause them.
- Use "perf 2" in console to see accurate fps and memory usage in game (memory usage is only for the assets loaded for that game instance, rust uses memory for bootstrapping and the like, but in game is where the leaks occur).
- Change your graphics settings in game as apposed to just from the dropdown menu as it gives more options and tends to be more reliable (you can use console commands as well to change them, which I will cover further in the list).
- Make sure windows has rust set to high performance.
- Ensure all your hardware is compatible and actually works (ram sticks all work, PSU isn't capping out, etc.)
- Try running rust in a lower resolution using the drop down menu.
- If perf 2 shows memory climbing into infinity use the command "gc.collect" in console to force the garbage collector to collect unused assets.
- If "gc.collect" helped then use the command "gc.interval " replace the brackets with a number for the time in seconds you want as an interval to automaticly force garbage collection (180 = 3 minutes).
- Use the "fps.limit " command in console to set an fps limit or make sure you don't have one set. (replace brackets with a number you want to limit fps to; -1 means no limit).
- Use the command "debug.flushgroup" in console to force all entity information to reload from the server. Can help boost framerate near large buildings and such.
- Use the command "global.cleanup" to force an asset cleanup.
- Check your config file to make sure no values are out of whack.
- Use 'dev.netgraph 1" in console to see your bandwith usage and packet loss percentage (use "dev.netgraph 0" to turn off the overlay).
- If you are having network lag make sure you aren't still populating the server lists in the background.
- Lower the lerp variables in console to change network position interpolation down if you get lag around moving entities (in console type "find lerp" to see the commands.
- Use the command "global.timewarnings true" to have the console print any warnings related to loading times and the like in console.
- Use the command "net.log true" to enable your client to save a network info log file in your game directory.
- Turn down your animation quality and other settings (type "find animation" in console to see a list of animation variables).
- Type "find graphics" in console to see all graphics variables and what they are set to, to verify changes were saved, or there isn't an unlisted graphics option you want to change.
- Type "find terrain" and "find audio" to see all terrain variables and audio options.
- Save any console command changes to your config using "writecfg" in console (saves the vast majority of changes but some things won't be saved, mainly overlay stuff like perf 2)
- Ask your admin what they have "server.updatebatch" set to if you experience network lag, pop in, or long load times, as this command constrols how much info the server sends to the client in a given loop. Typically any number above 64 is find, 128 is default.
- If you are stuck at receiving data for a long time, or some items are glitched out on your character, have a friend or admin kill your sleeper with all the glitched out items on it to fix the problem (usually fixes it anyway).
- Use "global.maxthreads" in console to see the max cpu cores the game is set to use. If you wish to change it use the same command with the number of threads you want as max following it.