mirror of
https://github.com/RHeavenStudio/HeavenStudio.git
synced 2025-06-12 21:37:40 +02:00
Chart Seek Bugfix (#545)
* fix lag spike when starting playback from middle of chart further optimization to GameManager which considerably reduces garbage generation * let dsp offset be calculated on playback start if needed
This commit is contained in:
@ -170,11 +170,8 @@ namespace HeavenStudio
|
||||
var chart = GameManager.instance.Beatmap;
|
||||
double offset = chart.data.offset;
|
||||
double dspTime = AudioSettings.dspTime;
|
||||
absTimeAdjust = 0;
|
||||
dspStart = dspTime;
|
||||
startTime = DateTime.Now;
|
||||
|
||||
GameManager.instance.SortEventsList();
|
||||
dspStart = dspTime;
|
||||
|
||||
startPos = GetSongPosFromBeat(beat);
|
||||
firstBeatOffset = offset;
|
||||
@ -188,20 +185,21 @@ namespace HeavenStudio
|
||||
{
|
||||
musicScheduledTime = dspTime + musicStartDelay / SongPitch;
|
||||
musicScheduledPitch = SongPitch;
|
||||
musicSource.PlayScheduled(musicScheduledTime);
|
||||
}
|
||||
else
|
||||
{
|
||||
musicScheduledTime = dspTime;
|
||||
musicScheduledPitch = SongPitch;
|
||||
|
||||
musicSource.Play();
|
||||
}
|
||||
musicSource.PlayScheduled(musicScheduledTime);
|
||||
}
|
||||
|
||||
songPosBeat = GetBeatFromSongPos(time);
|
||||
startBeat = songPosBeat;
|
||||
|
||||
absTimeAdjust = 0;
|
||||
startTime = DateTime.Now;
|
||||
|
||||
isPlaying = true;
|
||||
isPaused = false;
|
||||
}
|
||||
|
Reference in New Issue
Block a user