Frames you can actually get back
No magic config. Three launch flags the Unity player really reads, the graphics settings that cost real frames, and a short list of the flags everyone copies that do nothing at all.
Tell it what you are running
Both answers change the launch options and the settings column below.
6-8 core CPU, 16-32 GB RAM, mid-tier GPU. Target: 100-144 FPS at 1080p/1440p.
Paste this into Steam
Steam library → right-click Rust → Properties → General → Launch Options. Three flags, and every one of them does something measurable.
-window-mode exclusive -gc.buffer 2048 -force-d3d11-window-mode exclusive
Forces true exclusive fullscreen instead of borderless, which removes the desktop compositor from the present path and measurably lowers input lag.
-gc.buffer 2048
Bumps the garbage-collection buffer to 2048 MB so the client collects less often, which is what most Rust stutter actually is.
-force-d3d11
Pins the mature, well-optimised DirectX 11 renderer, which is also the path Nvidia driver threading and Reflex are tuned for.
On Nvidia cards, set Reflex to "On + Boost" in the graphics options: it cuts end-to-end input latency by up to 38% by keeping the render queue from backing up, and it costs you nothing in average FPS.
8 sliders, ranked by what they cost you
Recommendations shown for the Mid-range tier. Everything else in the graphics menu is noise by comparison.
| Setting | FPS impact | Recommendation |
|---|---|---|
| Shadow Quality Shadow cascades are the single most expensive thing the Rust renderer draws, so cutting them back frees more frames than any other slider. | High | 1 cascade, short distance |
| Grass Displacement Displacement recalculates the grass mesh around every moving player each frame, so it costs FPS exactly when a fight starts. | High | Off |
| LOD Bias / Object Quality LOD bias decides how early high-poly meshes swap down to cheap ones, which is what dictates your draw-call load inside bases and monuments. | High | 0.75-1 |
| Water Quality + Reflections Real-time water reflections re-render the scene a second time, so leaving them on can halve your frame rate on any coastal base. | High | Simple, reflections off |
| Anti-Aliasing FXAA is a cheap post-process pass while the temporal modes cost real frames and smear moving targets at range. | Medium | FXAA |
| Graphics Quality This is a master preset that silently re-enables the expensive sub-settings, so set it first and only then tune the individual sliders. | Medium | Good |
| Draw Distance Draw distance is mostly a CPU cost, and dropping it too far trades frames for losing long-range spotting you need in open terrain. | Medium | Medium-High |
| Occlusion Culling Culling spends CPU time to skip hidden geometry, which is a clear win in dense bases and monuments but can lose frames in open fields. | Situational | Test both ways |
Copied around for years, still does nothing
These turn up in every launch-option list on the internet. The Unity player does not read any of them.
-high
Cargo cult: the Unity player does not parse this flag, and Windows already schedules the foreground game sensibly — forcing high priority mostly starves the audio and network threads.
-USEALLAVAILABLECORES
Cargo cult imported from Unreal Engine games; Unity does not recognise it and already threads its job system across every core it can use.
-malloc=system
Cargo cult copied from Unreal Engine launch-option lists; Unity does not recognise it, so it changes nothing about how Rust allocates memory.
Open the console with F1 and type perf 2 before and after you change anything. It puts FPS, memory and garbage-collection stats on screen, which is the only honest way to tell whether a flag moved anything on your machine. All of this is patch-dependent: Facepunch renames graphics options and the Unity player quietly stops honouring launch flags between renderer updates, so re-check after a big client patch. The rest of the console is in the command reference.