原始像素太卡 走ffmpeg
This commit is contained in:
@@ -29,9 +29,10 @@
|
||||
层只向帧写入固定语义的单调时间点与原始耗时,不保存平均值、分位数或波动等衍生统计。
|
||||
* Plot 使用服务端帧时钟调用 `Scene::render(frame*)`;`fixed_rate` 只由 Frame_Scheduler 周期时钟驱动,完成回调不得改变其
|
||||
deadline。`maximum_rate` 是唯一允许完成回调在释放 Plot 准入后异步投递下一帧请求的特殊模式;回调不得直接重入 `render()`
|
||||
、不得同步等待,并且物理帧槽耗尽时只能由帧退役机制解除背压。Scene 回调发布 2D 原生 BGRA 或 3D 原生 RGBA;Gallery
|
||||
像素流按固定时钟采样各 Plot 的 latest,只把本周期真实变化的 tile 通过 Drogon WebSocket 原始像素批协议发送;服务端不组装图集,浏览器由各 Plot 的 WebGL Canvas 直接上传自身 tile。每个连接只允许一批在途,
|
||||
浏览器实际提交 Canvas 后 ACK,服务端只发送当时最新帧;Plot 输入和控制也统一使用 Drogon WebSocket。
|
||||
、不得同步等待,并且物理帧槽耗尽时只能由帧退役机制解除背压。Scene 回调发布 2D 原生 BGRA 或 3D 原生 RGBA;每个 Plot
|
||||
只服从自身 Frame_Policy。Gallery 仅按 Plot 完成帧的到达顺序更新对应图集槽位,不拥有采样时钟、帧准入、合并或丢帧策略;
|
||||
每次槽位更新均在唯一串行 Taskflow 媒体 DAG 中组成图集并由 FFmpeg/libx264 编码 H.264 Annex-B。Drogon WebSocket 只传输压缩
|
||||
access unit,不得用在途窗口反向跳过已通过 Plot 策略的帧;浏览器由 WebCodecs 解码后按槽位提交各 Plot Canvas。Plot 输入和控制也统一使用 Drogon WebSocket。
|
||||
* 帧策略及其时钟实现统一归属 `kernel/src/kernel/Frame_Policy`。配置变更和运行事实通过 MPMC 事件流进入唯一 consumer,由
|
||||
`double_buffer/model.hpp` 发布 `Frame_Policy::State`;查询只读取已发布 State。手动帧捕获必须把帧创建边界的策略 State
|
||||
绑定到该帧并沿现有帧捕获协议返回,禁止另建策略历史、轮询累加器或重复诊断字段。
|
||||
|
||||
Reference in New Issue
Block a user