TL;DR: PROTON_LOG=1
drastically improves performance in Warframe.
I’ve been dealing with persistent stuttering and general slowdown in Warframe, particularly when assets were loading in upon startup and especially during loading screens. Generally, once I would get into actual gameplay things would be smooth (according to both myself and Mangohud,) but going from a hub to an open world area would completely tank performance or even outright halt rendering for 30 to 40 seconds in the worst-case scenario.
I decided to start poking into what was happening and immediately found out that PROTON_LOG=1
completely solves all of these problems. The longest loading time (30 seconds or so) is now 5 seconds. Missions load almost instantaneously.
The generated log is extremely verbose at around 1MB a minute. I don’t see anything obviously wrong, but then again the game is working as it should.
Why is this? Wouldn’t not generating the log be faster?
It could be that running the game at full speed causes some lock contention that doesn’t happen when slowed down by the log stream.
Or it could also be that under normal gameplay your system spins down the harddrive to save power due to a lack of accesses, which would cause slowdowns and choppiness when the game suddenly needs to load something - also something which would be helped by running the log in the background.
For testing the second point, I’d suggest running something like this in the background while playing; (i.e. generating some constant load)
while true; do uptime > $HOME/workaround-test sleep 1 done
Good ideas. I’m curious about the game running too fast since other people mentioned it. Warframe has an in-engine FPS cap that can be set (which I have set to my display’s frame rate,) but perhaps I should try vsync or some other method in case it’s something screwy on that end.
Disk is fine (it’s an SSD so any start/stops would be instantaneous AFAIK.)
If you feel like testing an external FPS limiter, Mangohud has one built-in