记录环境
- Unity 2021.3.31f1
- Timeline 1.6.5
前置设定
- TML更新模式采用
GameTime
或Manual
:在主线程驱动 - 音频独立播放,不在TML中强制同步进度,只在Enter、Leave片段的时候触发播放、停止
- 音频片段在TML中顶头放置(TML播放立刻播音频)
实验结论
1、播放的这一帧卡顿
现象: 音频还没播完就被掐掉了,最大被掐的时长为 Maximum Allowed Timestep(后面用MaxTs标识)
原因推测:
- TML的进度,推进了被卡的时长
- 音频在子线程播放,不受主线程卡顿影响
- 播放的这帧,由于卡顿的影响,子线程并没有收到音频播放的任务(下一帧才播音频)
- 整个播放应该是3帧
- 第1帧卡顿,TML正常走过了这个时长
- 第2帧开始音频才播放
- 第3帧结束,TML将音频Stop(音频的最后一帧内容被掐掉)
2、播放之后在某个位置大卡顿(时长超过MaxTs,假设卡了2s)
现象: 音频播放的内容超出本该播放的时长
原因推测:
- 音频线程不受主线程卡顿影响,正常播了2s时长
- 主线程被卡住2s动,但是恢复后,进度只推进了MasTs的时长,后面的时长还有继续播
网友评论