In my attempts at making a TASVideos publishable TAS of Project M's story mode, I've ran into numerous issues with desyncs recently. Despite having all of the TAS-unsafe settings off (Including Dual Core, Idle Skipping, and any Graphics hacks), no memory or SD cards inserted, setting the RTC to be the same time on boot-up (On both Dolphin 5.0-266 and 5.0-424, the versions that I tried), and only using a single Gamecube Controller to use, the input file still saves effectively random key inputs one frame before they should, desyncing the run.
Saving a savestate while in Read-Only mode, then reloading the savestate somehow fixes the issue, but only for inputs that were saved close in time to the savestate. As an aside, to make matters even more troubling, it doesnt even seem that the game loads for the same amount of time while the input file is being recorded versus the input file being played back for the first time after recording, making it desync once again, and forcing me to start recording again while the flawed input file plays.
So, I'm at a complete loss as to what to do. I've been dealing with nonsensical forms of input recording flaws that can't even be fixed most of the time, alongside what seems like nondeterministic loading for the first instance of input recording, despite the fact that I have all of the settings correct, as far as I'm aware.
The only method that does work is playing back the entire movie, checking to see if inputs were saved a frame earlier than intended, and hex-editing the file to have it be correct. Over the course of an hour+ long TAS, the issue turns from bothersome to downright impractical, and I don't have the patience to deal with a single minute of waiting as it is.
That shouldn't be needed. When you load a movie, Dolphin will automatically set the RTC to the value that was in use when the movie was created, even in versions of Dolphin that are older than when the "custom RTC" feature was introduced. But that you've been doing that shouldn't cause any desyncs.
Turning off any of the following graphic hacks can actually increase your chance of getting desyncs (though such desyncs will usually only show up when you try to play back the movie on a computer with a different graphics card or when using different graphical enhancements):
Skip EFB Access from CPU
Store EFB Copies to Texture Only
Store XFB Copies to Texture Only (in older versions of Dolphin, turning this off is equivalent to setting XFB to Real)
Disable Bounding Box
Also, since you're using a version of Dolphin that's older than 5.0-1223, you need to keep this bug in mind (or preferably, update to a newer version of Dolphin): http://tasvideos.org/forum/viewtopic.php?p=436961#436961
I hope the information above will help, but chances are that the desyncs are caused by some unknown phenomenon that nobody knows what to do about...
Thank you very much for the information! I'll make sure to try it again on another version of Dolphin to see if the issue is something else.
EDIT: Still encountering desync issues, even with the reccommended settings and Dolphin 5.0-1225. At a loss at what to do.
EDIT #2: After starting over completely on Dolphin 5.0-5000, the one-frame-early-desyncs still occur, but I believe I've found a "good-enough" way of bypassing the issue by saving and loading a savestate while the movie plays back in Read-Only mode.
I believe this form of desync prevention has already actually been used in a published movie before (http://tasvideos.org/5627S.html), so I don't see why it would be an issue with my TAS.