How to limit Rimwold A16 to 60fps?

Started by Mailbox, December 24, 2016, 07:16:00 PM

Previous topic - Next topic

Mailbox

Before A16 Rimworld was always capped at 60fps (my monitor refresh rate). Now with A16 the game runs at much higher fps (80-120) and causes scrolling around the map to be very glitchy looking as well as massive screen tearing problems. There does not seem to be an option in-game to limit fps or enable vsync. I even tried forcing vsync on and forcing a 60fps target in the AMD Radeon Settings application and it did not limit the fps at all.

With the fps that much higher than my refresh rate it makes the game unplayable due to how glitchy any movement is...  :-\

Any suggestions on how to fix this would be great!  ;D

Edit: I tried running Rimworld on a different computer and it stays locked at 60fps on that computer. So it may be something specific to my computer..

Also. I found that on my computer I only have this issue when playing in full-screen. If I play in windowed mode the game properly locks to 60fps.

nccvoyager

Well, if the issue is only apparent in fullscreen mode, I would suggest running RimWorld in borderless windowed mode at fullscreen resolution.
(This will run the game in Windowed mode, locking the game to your screen refresh rate as a maximum, and will also reduce the occurrence of the "lost D3Ddevice" errors which Unity is so proud of.)

To do this, start RimWorld.
Go to the options menu, and make RimWorld windowed.
Exit RimWorld.
Now, for DRM-free:
QuoteRight-click a shortcut made for the game, and click properties.
At the end of the "Target" line, add -popupwindow there.
Click OK, and start the game through this shortcut.
RimWorld will start in borderless windowed mode.
Set the resolution in-game to your primary screen maximum resolution.
For Steam:
QuoteRight-click RimWorld in the Steam library, and select "properties" from the list.
Click "set launch options" in this window.
Type -popupwindow into the box that shows up.
Click OK, then click Close.
Run RimWorld.
RimWorld will start in borderless windowed mode.
Set the resolution in-game to your primary screen maximum resolution.

After that, RimWorld will be running in borderless fullscreen mode.
This has the benefits of windowed mode, (quick alt-tabbing, less lost D3Ddevice errors, fixed maximum frame rate,) and the benefit of fullscreen mode. (Maximum resolution!)

magik20

hey....so....um.... how do i get any computer to run Rimworld at 60fps??!

I'm currently on a smaller map in a tundra with 20 pawns running at 12fps on a i7!

nccvoyager

A large number of pawns will cause slowdowns, even with powerful CPUs.

To help increase performance, disable all antivirus programs, set the process priority to "high" for RimWorld, close all programs other than RimWorld, (and Steam if applicable,) install RimWorld (and Steam if applicable) to a SSD if you have one, and ensure that your system is fully up-to-date, including hardware drivers, redistributable packages, and operating system updates.

In addition, disable all power saving options via the operating system "power options" section, and via the graphics device control panel.

Please note that you should have a laptop/netbook/other device plugged in for maximum performance, as some newer laptops/netbooks/other devices do have CPU throttling forced on if the device is on battery power, which can lead to system instability or lowered performance.

Mailbox

#4
I have done some more testing and found that with -popupwindow for borderless fullscreen it locks my fps at 60 only if my resolution is set lower than my native resolution in windows. If I set my resolution to be the same resolution at windows the fps goes back to 100+fps making the game choppy again.

I am starting to think this may be some strange bug in the game?

Edit: After some more testing it seems to be a conflict with RivaTuner not liking AMD Freesync. Closing RivaTuner or setting the FPS limit in RivaTuner to the same FPS limit in AMD Radeon Settings corrects the issue and Rimworld will properly lock itself to 60fps in full-screen again. The strange thing about this is that Rimworld seems to be the only game I have that had an issue with this. Tried another dozen or so games and none had the same issue.

nccvoyager

Did you try other Unity-based games during your testing?
Could be a Unity engine specific issue.

Mailbox

That is a good point... Just tried it with KSP after you mentioned it could be Unity. Running KSP with AMD Freesync enabled, Rivatuner seems to break freesync and cause an unlimited FPS. With Vsync turned on in KSP however the issue corrects itself. So it could possible be Unity not getting along with Rivatuner, but Freesync does seem to have a play in it as well as the problem does not happen with Vsync running instead of Freesync.

I would test Vsync in Rimworld as well but it does not seem to have an option for that. Trying to use AMD Radeon Settings to force Vysnc on with Rimworld seems to do nothing...

Conclusion is that Rivatuner seems to be really bad software haha... Guess I will be going back to Fraps, or maybe try out the new AMD ReLive...

nccvoyager

Well, I am glad that you found a workaround for the issue at least.
Enjoy the digital suffering!