osu icon indicating copy to clipboard operation
osu copied to clipboard

Timing becomes late by 12 ms after zooming into waveform

Open jansenmtan opened this issue 3 years ago • 9 comments

Type

Game behaviour

Bug description

The timing is okay when first running the game, but after running the game for a while, the game judges my inputs ~11 ms late.

This issue is similar to https://github.com/ppy/osu/issues/18652, but causes late timing instead of early timing.

I suspect that the issue is related to editor timeline skipping, as mentioned in https://github.com/ppy/osu/issues/18652#issuecomment-1153800031. I usually use the editor timeline and waveform to determine the local offset of a beatmap. To do this, I zoom the timeline in as much as possible, use the Timing view's offset adjustment UI to adjust the offset to be onto the beat, and verify my adjustment by skipping around to various moments in the timeline.

Previous issues (https://github.com/ppy/osu/issues/18652#issuecomment-1153800031, https://github.com/ppy/osu/issues/18652#issuecomment-1155791046, https://github.com/ppy/osu/issues/18659#issue-1268637091) mention stuttering and lag spikes (esp. with multithreading), but stutters occur so often (maybe a few times per play) and with such little effect (a few frames at most) that I often ignore them. I will try to test with the single thread mode later and see if the issue persists.

This issue is not related to any particular beatmap.

Note: I play with effect sounds off.

Setup/Hardware: Windows 19044 Intel(R) Core(TM) i3-10100F CPU Audio device: High Definition Audio Device

Screenshots or videos

Notice that I tend to be early on this map by 1 to 4 ms, but when the bug hits, I am consistently 9 ms late. Before bug. image I first noticed this bug during my second session of yesterday. image Today before bug. image The bug hits mid-session. image

The bug is not limited to one map. image image image

Version

2022.621.0-lazer

Logs

network.log performance.log runtime.log updater.log database.log legacy-ipc.log

jansenmtan avatar Jun 27 '22 19:06 jansenmtan

Audio timing precision is only accurate to ~5am on windows, so I'm wondering if that's what you are noticing?

Generally you can solve this by adjusting your UO. But this could potentially be the same driver/whatever issue happening to a lesser extent.

To confirm, once things become delayed, does it stay that way for 100% of plays until you restart?

peppy avatar Jun 28 '22 01:06 peppy

The problem is not global offset or local offset.

For example, every play below the green line is on time. Not a single one of them are more than 4 ms off-time. However, every play above the red line (listed as 22 hrs ago, before i restarted the game) is around 11 ms late. The plays listed as 22 hrs ago are made on the same session without any change to global or local offset. image

During my sessions, my plays are never more than 5 ms off-time, so it was extremely obvious once the bug hit.

Edit: Turns out i actually set kimi no pierrot's local offset early while playing with the bug (so it was also late). Playing right now without bug. image

jansenmtan avatar Jun 28 '22 17:06 jansenmtan

Potentially related:

  • https://github.com/ppy/osu/issues/18652
  • https://github.com/ppy/osu-stable-issues/issues/306#issuecomment-1017322498

peppy avatar Jul 01 '22 09:07 peppy

I just found out that the bug can also revert in the same session, going back to the same timing as when the game launched.

eg, today, when the bug hit (2.5 hrs into session), I set the global offset to be 11 ms earlier to get around it. My hits for the following plays were being judged on-time after that. However, 30-40 minutes later, my hits were being judged 11-12 ms early all of a sudden.

So, adjusting the global offset is not even a good work around to this bug.

edit: i just want to say that this bug is extremely frustrating. mostly because it unfairly hurts my accuracy. also, i don't know when it starts. and then i can't even get around it by adjusting global offset because it reverts.

jansenmtan avatar Jul 04 '22 17:07 jansenmtan

The fact that it progressively gets out of sync (judging by your point regarding global offset not working) makes this seem pretty much a duplicate of https://github.com/ppy/osu/issues/12056.

frenzibyte avatar Jul 06 '22 14:07 frenzibyte

I've managed to reproduce this bug. https://youtu.be/bOQZbVMUpSI As I suspected, it has to do with the editor, the editor waveform, and zooming into the editor waveform. The bug, when activated, causes a clear 11-12 ms timing delay (not sure what kind). The bug can be deactivated by restarting the game, after which, the 11-12 ms delay disappears. Catching the bug is not easy. It may take around 3 or so minutes of just zooming into editor waveforms to catch the bug.

The fact that it progressively gets out of sync (judging by your point regarding global offset not working) makes this seem pretty much a duplicate of #12056.

The delay is not progressive, it is a constant 11-12 ms delay that appears and disappears as a whole.

I would try to reproduce this bug on Linux, but there is not an easy way to automate mouse scrolling on Linux. On Windows, I use AutoHotKey. On Linux, I tried AutoKey and xdotool, but these software do not interact with osu!lazer well.

jansenmtan avatar Jul 11 '22 21:07 jansenmtan

I'm not sure how you are discerning that it's related to the waveform, but I don't think it can be. It's 100% more likely to be seek operations or just total runtime.

peppy avatar Jul 12 '22 04:07 peppy

I'm not sure how you are discerning that it's related to the waveform, but I don't think it can be. It's 100% more likely to be seek operations or just total runtime.

I just had a feeling. I recently changed my "work"flow with the game so that I adjust each map's local offset so that zero local offset means that the beatmap is 26 ms late, relative to the audio. I did this because I found that most ranked beatmaps are 26 ms late, but I also found that some maps are earlier or later than 26 ms late. eg, a map is found to be 20 ms late, relative to the audio, meaning the local offset should be 6 ms early. Soon after changing my workflow, I found this bug.

I don't think the bug is related to total runtime. Before recording the previous video, I ran the same test before and caught the bug in 6 minutes. My usual play sessions catch the bug about an hour in.

The bug could be related to seek operations. I performed two tests today with timeline scrubbing (https://youtu.be/0_rpsDpe79M) and scrolling the waveform (https://youtu.be/IlE1i2Yx5l4). In each test, I tried to catch the bug with three attempts, each 4 minutes long. None of the tests caught the bug.

jansenmtan avatar Jul 12 '22 20:07 jansenmtan

this happened to me too just now , tho its the first time it has happened to me that i noticed... was playing some multi and noticed my offset slowly getting worse, i thought it was just either map offset or me being bad... (plus sightreading most of the maps) until i played a map that i have played earlier on my session and realised that the timing was off... i then tried again on singleplayer and yup, the timing offset was off by about 22ms... but once i reset the game, the timing went back to normal. I havent been able to replicate this as of yet tho...

BurningFlames2314 avatar Jul 14 '22 15:07 BurningFlames2314

Closing this issue as it's not really correct in reasoning. This is just going to be the case of a user needing to tweak their UO. With WASAPI lower latency support coming, we'll revisit offsets in general.

peppy avatar Dec 26 '23 04:12 peppy