错误处理机制纠正

This commit is contained in:
2026-08-16 03:34:17 +08:00
parent 893be8d2c6
commit b48a70515f
91 changed files with 1983 additions and 1516 deletions
+16 -6
View File
@@ -190,7 +190,7 @@ public:
register_controls();
set_performance_plot_name(plot_, case_id_ + "/" + gallery_enum_id(frame_mode_));
if (frame_mode_ == Gallery_Frame_Mode::Low_Latency)
plot_.set_max_render_fps(30.0);
static_cast<void>(plot_.set_max_render_fps(30.0));
plot_.activate_view();
update_model();
(void)plot_.render_frame(true);
@@ -368,8 +368,13 @@ public:
const auto state = plot_.render_scene().capture_state();
if (state.enabled())
return "A performance capture session is already active";
const auto session_id = plot_.render_scene().capture_next_frame();
last_action_result_ = "capture session=" + std::to_string(session_id);
const auto capture = plot_.render_scene().capture_next_frame();
if (!capture) {
if (capture.error == Capture_Error::session_active)
return "A performance capture session is already active";
throw std::logic_error("validated capture request rejected");
}
last_action_result_ = "capture session=" + std::to_string(capture.session_id);
return "Capture next render frame requested";
}
if (request.id == "capture_frames") {
@@ -381,8 +386,13 @@ public:
const auto state = plot_.render_scene().capture_state();
if (state.enabled())
return "A performance capture session is already active";
const auto session_id = plot_.render_scene().capture_frames(count);
last_action_result_ = "capture session=" + std::to_string(session_id) +
const auto capture = plot_.render_scene().capture_frames(count);
if (!capture) {
if (capture.error == Capture_Error::session_active)
return "A performance capture session is already active";
throw std::logic_error("validated capture request rejected");
}
last_action_result_ = "capture session=" + std::to_string(capture.session_id) +
", frames=" + std::to_string(count);
return "Consecutive render frame capture requested";
}
@@ -914,7 +924,7 @@ private:
plot_.clear_consumer_feedback();
return;
}
plot_.set_consumer_feedback({interval_ns});
static_cast<void>(plot_.set_consumer_feedback({interval_ns}));
}
void record_performance(std::chrono::steady_clock::time_point started, bool rendered) {
const auto finished = std::chrono::steady_clock::now();