New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update FPS to roughly match the actual 3DS rate #5273
Conversation
movies work |
you should probably also update cheats.cpp L17 (and maybe remove the magic number completely) |
With this pull request there's no more desynching in Ryhthm Heaving Megamix, but there's still some significant input lag. I have to hit the beat slightly early to get it register. Disabling Audio Timestretch helps a little, but it is not enough. Is there a way to customize the samples length in cubeb? I feel reducing the sample size would help here. |
Is this on Windows or Linux? On Linux I just found the latency fairly high over all, might just be a Linux-specific thing. On Windows, there was a bug that potentially caused the music to be delayed by 1024 samples from the rest of the game and produced a burst of static at the beginning, which is fixed by #5404 |
Windows 10 build 1809. Either way buffer size should be customizable by the user imo. |
Regarding ffmpeg, the problem I thought I saw with it wasn't actually a problem. Despite what ffprobe says on the command line (usually 59.94FPS), the overall averaged framerate is correct. The desync shift I heard when starting recording after booting the game may have been due to the ffmpeg time base not matching 100% or something. I have updated the ffmpeg numerator and denominator to the obvious solution: As noted in the comments this results in a rather strange timebase of 280071/16756991. Some codecs support this, while others do not. It is technically "correct" as it is now after updating the time base, so to fix the other codecs, resampling the video would be required. |
I have tested most of the video codecs prompted by Citra with the new timebase, and the results are as follows: Works with the new timebase:
Breaks with the new timebase:
Untested or previously broken:
|
Fixes #4169, #5265, and presumably #4527. Probably other games too.
All fixed with HLE audio only for now; LLE appears to have other bugs.
This doesn't appear to affect/break my other desync fix in #5266
Since the beginning of Citra, the screen refresh rate had a placeholder value of 60Hz. The 3DS screen refresh rate is fairly well known to be roughly 59.83Hz. This is a large enough difference that heavily affects rhythm games.
TODO List for this [WIP] PR:
This change is