帧策略职责明确
This commit is contained in:
@@ -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 =
|
||||
|
||||
Reference in New Issue
Block a user