架构微调

This commit is contained in:
2026-08-11 11:50:17 +08:00
parent 5710da3acf
commit 6c8c205e86
11 changed files with 157 additions and 36 deletions
+28 -2
View File
@@ -233,6 +233,9 @@ public:
std::uint64_t frame_request_timeout_count,
double frame_round_trip_ms,
double display_interval_ms,
double display_interval_latest_ms,
double display_interval_p95_ms,
double display_jitter_ms,
std::uint64_t overwritten_pixel_frames,
double last_pixel_receive_age_ms,
double last_pixel_change_age_ms) noexcept {
@@ -248,6 +251,12 @@ public:
std::max(0.0, frame_round_trip_ms) : 0.0;
client_display_interval_ms_ = std::isfinite(display_interval_ms) ?
std::max(0.0, display_interval_ms) : 0.0;
client_display_interval_latest_ms_ = std::isfinite(display_interval_latest_ms) ?
std::max(0.0, display_interval_latest_ms) : 0.0;
client_display_interval_p95_ms_ = std::isfinite(display_interval_p95_ms) ?
std::max(0.0, display_interval_p95_ms) : 0.0;
client_display_jitter_ms_ = std::isfinite(display_jitter_ms) ?
std::max(0.0, display_jitter_ms) : 0.0;
client_overwritten_pixel_frames_ = overwritten_pixel_frames;
client_last_pixel_receive_age_ms_ = std::isfinite(last_pixel_receive_age_ms) ?
std::max(0.0, last_pixel_receive_age_ms) : 0.0;
@@ -255,8 +264,9 @@ public:
std::max(0.0, last_pixel_change_age_ms) : 0.0;
if (frame_mode_ == Gallery_Frame_Mode::Low_Latency &&
bool_value(state_, "consumer_feedback_enabled")) {
const auto interval_ns = std::max(milliseconds_to_ns(client_frame_round_trip_ms_),
milliseconds_to_ns(client_display_interval_ms_));
const auto display_interval_ns = milliseconds_to_ns(client_display_interval_ms_);
const auto interval_ns = display_interval_ns != 0 ?
display_interval_ns : milliseconds_to_ns(client_frame_round_trip_ms_);
if (interval_ns != 0)
plot_.set_consumer_feedback({interval_ns});
}
@@ -648,6 +658,7 @@ public:
{"consumer_sample_interval_ns", observer.consumer_sample_interval_ns},
{"consumer_smoothed_interval_ns", observer.consumer_smoothed_interval_ns},
{"consumer_variation_ns", observer.consumer_variation_ns},
{"consumer_safety_interval_ns", observer.consumer_safety_interval_ns},
{"consumer_interval_ns", observer.consumer_interval_ns},
{"next_refresh_interval_ns", observer.next_refresh_interval_ns},
{"paint_lease_wait_ns", observer.paint_lease_wait_ns},
@@ -670,6 +681,9 @@ public:
{"frame_request_timeout_count", client_frame_request_timeout_count_},
{"frame_round_trip_ms", client_frame_round_trip_ms_},
{"display_interval_ms", client_display_interval_ms_},
{"display_interval_latest_ms", client_display_interval_latest_ms_},
{"display_interval_p95_ms", client_display_interval_p95_ms_},
{"display_jitter_ms", client_display_jitter_ms_},
{"overwritten_pixel_frames", client_overwritten_pixel_frames_},
{"last_pixel_receive_age_ms", client_last_pixel_receive_age_ms_},
{"last_pixel_change_age_ms", client_last_pixel_change_age_ms_}
@@ -697,6 +711,7 @@ public:
{"consumer_sample_interval_ns", observer.consumer_sample_interval_ns},
{"consumer_smoothed_interval_ns", observer.consumer_smoothed_interval_ns},
{"consumer_variation_ns", observer.consumer_variation_ns},
{"consumer_safety_interval_ns", observer.consumer_safety_interval_ns},
{"consumer_interval_ns", observer.consumer_interval_ns},
{"scheduler_interval_ns", scheduler_interval_ns},
{"scheduler_frequency_hz", scheduler_interval_ns == 0 ? 0.0 :
@@ -956,6 +971,7 @@ private:
{"consumer_feedback_sample_interval_ns", low_latency ? observer.consumer_sample_interval_ns : 0},
{"consumer_feedback_smoothed_interval_ns", low_latency ? observer.consumer_smoothed_interval_ns : 0},
{"consumer_feedback_variation_ns", low_latency ? observer.consumer_variation_ns : 0},
{"consumer_feedback_safety_interval_ns", low_latency ? observer.consumer_safety_interval_ns : 0},
{"consumer_feedback_interval_ns", low_latency ? observer.consumer_interval_ns : 0},
{"backend_render_fps", recent_rate(render_history_, now)},
{"pixel_response_fps", pixel_fps},
@@ -966,6 +982,9 @@ private:
{"client_frame_request_timeout_count", client_frame_request_timeout_count_},
{"client_frame_round_trip_ms", client_frame_round_trip_ms_},
{"client_display_interval_ms", client_display_interval_ms_},
{"client_display_interval_latest_ms", client_display_interval_latest_ms_},
{"client_display_interval_p95_ms", client_display_interval_p95_ms_},
{"client_display_jitter_ms", client_display_jitter_ms_},
{"client_overwritten_pixel_frames", client_overwritten_pixel_frames_},
{"client_last_pixel_receive_age_ms", client_last_pixel_receive_age_ms_},
{"client_last_pixel_change_age_ms", client_last_pixel_change_age_ms_},
@@ -994,6 +1013,7 @@ private:
{"consumer_sample_interval_ns", observer.consumer_sample_interval_ns},
{"consumer_smoothed_interval_ns", observer.consumer_smoothed_interval_ns},
{"consumer_variation_ns", observer.consumer_variation_ns},
{"consumer_safety_interval_ns", observer.consumer_safety_interval_ns},
{"consumer_interval_ns", observer.consumer_interval_ns},
{"next_refresh_interval_ns", observer.next_refresh_interval_ns},
{"paint_lease_wait_ns", observer.paint_lease_wait_ns},
@@ -1497,6 +1517,9 @@ private:
std::uint64_t client_frame_request_timeout_count_{};
double client_frame_round_trip_ms_{};
double client_display_interval_ms_{};
double client_display_interval_latest_ms_{};
double client_display_interval_p95_ms_{};
double client_display_jitter_ms_{};
std::uint64_t client_overwritten_pixel_frames_{};
double client_last_pixel_receive_age_ms_{};
double client_last_pixel_change_age_ms_{};
@@ -1560,6 +1583,9 @@ struct Gallery_Plot_Session::Impl {
unsigned_metric("frame_request_timeout_count"),
finite_metric("frame_round_trip_ms"),
finite_metric("display_interval_ms"),
finite_metric("display_interval_latest_ms"),
finite_metric("display_interval_p95_ms"),
finite_metric("display_jitter_ms"),
unsigned_metric("overwritten_pixel_frames"),
finite_metric("last_pixel_receive_age_ms"),
finite_metric("last_pixel_change_age_ms"));