yuzu icon indicating copy to clipboard operation
yuzu copied to clipboard

[Coretiming/NVNFlinger] Improve multi-core vsync timing, and core timing accuracy

Open Kelebek1 opened this issue 1 year ago • 5 comments

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: unknown2

After: unknown

Kelebek1 avatar Jul 26 '22 21:07 Kelebek1

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 avatar Jul 28 '22 00:07 bunnei

@bunnei we can, but the reversion conflicts with YFC.

liamwhite avatar Jul 28 '22 00:07 liamwhite

Causes a major regression in Kirby and the Forgotten Land:

Mainline 1115 image

EA 2874 image

This PR image

Morph1984 avatar Jul 30 '22 07:07 Morph1984

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

Morph1984 avatar Aug 02 '22 04:08 Morph1984

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?

DiegoMadGlez avatar Aug 02 '22 05:08 DiegoMadGlez