mirror of
https://github.com/zhw2590582/ArtPlayer.git
synced 2026-10-17 01:56:16 -08:00
fix(danmuku): [PKG-DANMUKU-11] start visible lifetime after Worker placement
This commit is contained in:
1 parent
24b883d862
commit
df6a6fe82e
18 files changed
+3328
-9
No files matched your search
@@ -0,0 +1,43 @@
|
||||
# PKG-DANMUKU-11 Worker 等待与可见寿命
|
||||
|
||||
07稳定性审查发现独立计时问题,拆为本任务修复;07本身仍未完成。
|
||||
配置speed为1秒,Worker回复之前的隐藏等待如果超过1秒,弹幕刚触发visible就会
|
||||
在下一调度帧被回收。开始时间原先在postMessage前设置,而CSS显示在回复后才开始。
|
||||
|
||||
## 兼容范围
|
||||
|
||||
修复仅把成功放置的可见起点与实际放置时间对齐。保留原speed、Worker几何输入、
|
||||
同步/异步门面、事件参数/顺序、状态池、取消与错误行为;不改变公开类型或包入口。
|
||||
空轨道/取消不新增visible;暂停后的剩余寿命、播放速度与旧seek/reset行为仍回归。
|
||||
这是原来隐藏等待吞掉可见时长的缺陷修正,等待较长的弹幕会获得完整显示时间。
|
||||
历史readys的±0.1秒窗口和beforeVisible串行语义不在此任务改变。
|
||||
|
||||
## 验证
|
||||
|
||||
受控红测使用真实Worker算法:mode0/1/2、1秒寿命、等待3秒。三个开始时间断言
|
||||
均得到1000而非4000,明确复现本问题;修复后的绿测继续验证250ms剩余寿命和一次
|
||||
回收断言。原始日志保留在refactor/.cache/danmuku11-unit-red.log。
|
||||
|
||||
原生测试使用实际视频与真实Worker几何,仅通过观察用Worker子类给请求传递加
|
||||
1500ms延迟,记录post/reply/visible/recycle时间。它验证人为注入延迟后的行为,
|
||||
不声称真实用户环境必然发生相同Worker延迟。
|
||||
|
||||
完整源码253项通过,正式main/legacy各57项调度与Worker测试通过(包括共同的
|
||||
内部WorkerClient测试,不能都算独立产物案例)。构建、目标lint和分包严格TS通过。
|
||||
源码浏览器90项:原调度66项加寿命24项,覆盖两核心、新旧插件、mode0/1及三引擎;
|
||||
main/legacy各选12项候选寿命用例,总114项通过,无重试或跳过。以visible事件到
|
||||
节点回收测得生命周期,不把它称为逐帧视觉/自然Worker饥饿或长期吞吐验收。
|
||||
相同1秒配置下,旧版测得0–15ms,修复源码998–1044ms,main1004–1041ms、
|
||||
legacy1005–1027ms;原生逐帧调度有少量回收延后,受控用例精确验证时间扣减。
|
||||
具体环境、字节及时间见[机器证据](../baselines/danmuku-lifetime-validation.json)。
|
||||
|
||||
首次浏览器运行也触发了旧版已登记的play/playing双循环,历史两次请求与单次计时
|
||||
夹具冲突。将插件安装放在原生playing之后并显式启动一次来隔离该已知缺陷,未改变
|
||||
被测时钟/队列或寿命阈值。隔离红测4个旧版缺陷观察通过、4个候选寿命断言失败,
|
||||
再修复生产。第一次失败也留档,没有把夹具故障当成本任务独立红测。
|
||||
独立只读复查确认取消/节点检查在时钟更新之前,几何与剩余寿命仍按准备时速度
|
||||
计算,setState→place→visible顺序不变;包ARCHITECTURE同步维护计时边界。
|
||||
无新依赖、公开类型、版本或分发入口变更;构建产物和docs复制保持相同字节。
|
||||
|
||||
状态以tasks.json为准。回退本任务独立commit
|
||||
会恢复旧计时问题,不撤销06类型迁移或10热力图修复。未推送、未发布。
|
||||
Reference in new issue
Block a user