I recently discovered a problem and a fix that I would like to share. I'll try to keep it as simple as possible.
- When using Nvidia's Adaptive Vsync, tearing would occur at the same place on the screen, every frame, at 60FPS.
- When using Nvidia's Standard Vsync under the same conditions as #1, framerate would drop to around 40FPS with what felt like small stuttering.
- The problem was most noticeable and easily reproducible when moving around the world map with WASD keys. (The only map mods I use reduce the size of markers and remove the HUD.)
- Both problems would only occur when RCRN was being used. Everything was perfectly smooth when I used the Pause button to switch to vanilla.
- Maximum Pre-Rendered Frames was set to 1 via the Nvidia driver.
- When I set Maximum Pre-Rendered Frames to 2, 3, or Application-Controlled, the problem disappeared and everything was perfectly smooth with RCRN enabled. I don't have the option to set it to 0. Mouse lag was not noticeably affected, and VRAM usage has only gone up a few megabytes, if at all.
D) Other thoughts:
- I suspect this may be a problem with post-process injection altogether and not just RCRN. I had the same problem as #A.1 when using the SMAA injector and framerate limiter (60 FPS cap via Nvidia Inspector). I don't use SMAA anymore but I may go back to it for further testing. Basically, I suspect that vertical synchronization is designed with the expectation that post process injection will NOT be used and that it can throw the frame buffers out of sync even though it still limits the framerate. This is just an educated guess.
- I don't recall having this problem when I used a post-process injector that simply limited the framerate to 60. It showed up when I ditched that injector for the SMAA injector, and again when I ditched SMAA for RCRN. Perhaps controlling Vsync via post-process injection will ensure that the frame buffers are synchronized?