帧策略职责明确

This commit is contained in:
2026-08-29 22:04:25 +08:00
parent 20be348a6a
commit bb6bcec901
29 changed files with 1743 additions and 333 deletions
+5 -3
View File
@@ -329,18 +329,20 @@ void run_event_latency(benchmark::State& state) {
const auto probe = item.probe;
item.stream = item.plot->subscribe(
[probe](std::shared_ptr<const web::Plot_Stream_Frame> frame) {
if (!frame || !frame->pixels) return;
if (!frame || !frame->pixels)
return web::Plot_Frame_Publication::ignored;
const auto expected = probe->expected_correlation.load(
std::memory_order_acquire);
if (expected == 0 ||
frame->pixels->correlation_id != expected)
return;
return web::Plot_Frame_Publication::completed;
std::uint64_t incomplete{};
static_cast<void>(
probe->completed_steady_ns.compare_exchange_strong(
incomplete, steady_time_ns(),
std::memory_order_release,
std::memory_order_relaxed));
return web::Plot_Frame_Publication::completed;
});
item.plot->configure_stream(
item.stream, configuration.width, configuration.height);
@@ -384,7 +386,7 @@ void run_event_latency(benchmark::State& state) {
return;
}
}
item.plot->schedule_render(web::Plot_Render_Tick{
item.plot->schedule_render(aethera::Frame_Request{
.issued_at = Clock::now(),
.sequence = correlation,
.time_milliseconds =