Repository navigation
perf(replay): 回放流式读取;mcef-nova 升级到 1.0.2 并移植 dev 上的修复 - #9
Merged
Merged
Conversation
- 新录像写成格式 2:未压缩文件头 + 按块 zlib 压缩,块头记录时间范围、记录数、 长度和 CRC;flush 即封块,崩溃只丢最后一次 flush 之后的内容,损坏块读作结尾 - 旧格式 1(整文件 gzip)照常读取,按文件头魔数自动识别,不转换、不改原文件 - NovaReplayFile.scanIndex:格式 2 只读块头跳过正文,格式 1 后台整段扫描; 回放打开后在后台线程建索引得到时长 - ReplayStream:独立线程预读,内存只保留播放头前方有界窗口(堆的 1/32,8–64MB), 录像多长都一样 - ReplayCursor:跳转只改目标,每 tick 按墙钟 60% 的预算分片应用记录;往回跳仍需 从 0 重建世界(包流无法倒放),但改为分片进行;时钟在追赶期间暂停 - ReplayPlayback:打开只读文件头;重建期间原版载入界面结束后恢复先前界面; 覆盖层和回放界面显示"加载中 N%";去掉"录像过大只载入前 N 分钟"的截断 - 导演工作台:追赶期间不推进输出时钟,导出等世界追上后再截帧;索引到达后 自动补全工程时长 - 单测:读写往返、损坏块、索引、旧格式读取与跳转、正反向跳转定位、 零预算逐条推进、190MB 合成录像下预读峰值不超过窗口
- 依赖与 bundledRuntime 改为 1.0.2;vendor/maven 换成本地构建的 1.0.2 (mcef-nova release/1.0.2 @ f0c9055),移除 1.0.1 副本 - GitHub Packages 上目前只有 1.0.2-SNAPSHOT,CI 注释里留 TODO,待正式发布后 填 tag 并替换 vendor 副本
- BrowserOwnedTexture(26.2):每帧上传前 dst.clear()。上一帧把 limit 缩到当帧 大小,窗口先缩后放时绝对 put 越界,网页永久黑屏 - AcceleratedBrowserTexture(1.21.5–1.21.11):GlTexture 反射构造参数顺序改为 usage 在第 1 位、glId 在第 8 位(已用 1.21.8/1.21.11 字节码核对:参数 1 写入 GpuTexture.usage,参数 8 写入 GlTexture.id) - AcceleratedBrowserTexture(26.2):从桩实现换成零拷贝实现,把 mcef 导入的纹理 用 glCopyImageSubData 拷进设备纹理并以 GL swizzle 处理 BGRA;ClientBrowser 26.2 分支在加速时绘制它,失败回落 CPU 路径(已核对 26.2 GlTexture/GpuDevice 布局) - Client.configureHost:开启硬件加速且平台支持时设置 mcef.pumpOnRenderThread, mcef 1.0.2 只在渲染线程泵模式下启用共享纹理
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
回放
mcef
dst.clear();1.21.5–1.21.11 GlTexture 构造器参数顺序(已用字节码核对);26.2 零拷贝 AcceleratedBrowserTexture。验证