yuzu
yuzu copied to clipboard
[Coretiming/NVNFlinger] Improve multi-core vsync timing, and core timing accuracy
This re-works the vsync timing a bit for multi-core. After the core timing changes to make it more accurate, we can now use it for vsync flipping as well, which is an improvement over the current sleep method.
Games in multicore should now be smoother, some quite noticeably (XC2), and can also boost FPS as well (again noticeably XC2), and also eliminates the time drift in Smash.
Also fixes games that get locked to 58 FPS rather than 60, such as Three Hopes. Images courtesy of Dunastique (the frametime bar at the bottom):
Before:
After:
Can we revert https://github.com/yuzu-emu/yuzu/pull/8428 now with these changes? (or does that still break time drift in SSBU?)
@bunnei we can, but the reversion conflicts with YFC.
Causes a major regression in Kirby and the Forgotten Land:
Mainline 1115
EA 2874
This PR
The latest commit resolves the regression above with a ~1 fps drop with sufficient CPU power, and increases CPU demand from 4C to 6C to maintain peak performance
The latest commit resolves the regression above with a ~1 fps drop with sufficient CPU power, and increases CPU demand from 4C to 6C to maintain peak performance
Cpus with lower cores (4 or less) will see higher performance impacts?