Closed RetroEdit closed 3 months ago
Fixing this properly is a very low priority. Probably what I can do for now is make it a sync setting which (if any) consoles should be used to determine if a frame is a lag frame.
What should the default be? No lag frames at all?
I think a sync setting is a bit inconvenient to use. Allowing the lag type to be switched on-demand to target a specific console or consoles would be slightly more convenient, although I realize that would only affect frame played back after the setting change and could get confusing.
To me, disabling lag by default would be worse than the current setting; the basic issue here is that lag marking is ambiguous, not that lag marking exists. To me, this issue is more something that I wanted to make note of rather than something actionable in the near future.
I agree a proper fix should be low priority, since it introduces another layer of complexity and potential for many new bugs. Long-term, I'd like to work on an improved base emulator interface that would be carefully designed to organize these kinds of use-cases gracefully. I had some planning in the direction a few years back.
@alyosha-tas After hearing about how other consoles in BizHawk do it, the best default behavior is to only mark lag when there's lag on both GBAs.
So my current code does have lag only when both consoles are lagging. According to the commit log it has been that way since august. Can you give an example where you are not seeing this behavior @RetroEdit
I think you're correct. I would still benefit from more configurability, but I'll look into implementation myself if/when I end up doing more multi-GBA TASing.
Multi-GBA doesn't identify which GBA(s) the lag frame occurred; it will only mark if both lag. This is inconvenient for certain use-cases.
I don't think this is easily fixable because lag marking is sort of deeply embedded into TAStudio and the movie architecture in general.
Nonetheless, there are a few minor enhancement ideas I still have:
View > Display Lag Frame Count
a comma-separate list instead of a single value. Or maybe constrain it to a particular chosen GBA.