Make gameplay time completely based on audio time #489
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR removes the alteration towards frame time based on the difference between audio time and gameplay time, making gameplay time completely based on audio time. Consequently, this makes the low latency synchronization setting irrelevant, so it has been removed too.
Apart from gameplay time, input time is now directly derived from audio time. For the sake of testing, I left the fix frame offset for now, even though it should be removed as well (last time I tried to remove it, some users complained about having a worse gameplay experience as they are already used to the current latency). Admittedly, doing this introduces more JNI calls via BASS'
ChannelGetPosition
andChannelBytes2Seconds
, but from my own testing this is insignificant enough (these calls are already done for every frame anyway).