优化
This commit is contained in:
@@ -387,6 +387,44 @@ protected:
|
||||
statistic_value("backend_execute_ms", "p95");
|
||||
state.counters[prefix + "backend_execute_max_ms"] =
|
||||
statistic_value("backend_execute_ms", "maximum");
|
||||
constexpr std::array detailed_backend_statistics{
|
||||
"backend_target_acquire_ms",
|
||||
"backend_structure_check_ms",
|
||||
"backend_query_ms",
|
||||
"backend_runtime_plan_ms",
|
||||
"backend_runtime_execute_ms",
|
||||
"backend_mvp_update_ms",
|
||||
"backend_frame_begin_ms",
|
||||
"backend_frame_plan_ms",
|
||||
"backend_external_register_ms",
|
||||
"backend_frame_attach_ms",
|
||||
"backend_frame_execute_ms",
|
||||
"backend_frame_finish_ms"};
|
||||
constexpr std::array detailed_drp_statistics{
|
||||
"backend_drp_validation_ms",
|
||||
"backend_drp_state_ms",
|
||||
"backend_drp_buffer_create_ms",
|
||||
"backend_drp_texture_create_ms",
|
||||
"backend_drp_shader_create_ms",
|
||||
"backend_drp_shader_compile_ms",
|
||||
"backend_drp_shader_module_create_ms",
|
||||
"backend_drp_pipeline_create_ms",
|
||||
"backend_drp_binding_create_ms",
|
||||
"backend_drp_upload_ms",
|
||||
"backend_drp_transfer_ms",
|
||||
"backend_drp_record_ms"};
|
||||
for (const std::string_view name : detailed_backend_statistics) {
|
||||
state.counters[prefix + std::string{name} + "/p95"] =
|
||||
statistic_value(name, "p95");
|
||||
state.counters[prefix + std::string{name} + "/max"] =
|
||||
statistic_value(name, "maximum");
|
||||
}
|
||||
for (const std::string_view name : detailed_drp_statistics) {
|
||||
state.counters[prefix + std::string{name} + "/p95"] =
|
||||
statistic_value(name, "p95");
|
||||
state.counters[prefix + std::string{name} + "/max"] =
|
||||
statistic_value(name, "maximum");
|
||||
}
|
||||
state.counters[prefix + "backend_submit_queue_ms"] =
|
||||
statistic_value("backend_submit_queue_ms", "average");
|
||||
state.counters[prefix + "backend_submit_queue_p95_ms"] =
|
||||
@@ -546,6 +584,45 @@ public:
|
||||
<< std::setw(10) << counter(prefix + "slot_backpressure")
|
||||
<< std::setw(9) << counter(prefix + "scene_rejected")
|
||||
<< '\n';
|
||||
constexpr std::array detailed_backend_statistics{
|
||||
std::pair{"acquire", "backend_target_acquire_ms"},
|
||||
std::pair{"structure", "backend_structure_check_ms"},
|
||||
std::pair{"query", "backend_query_ms"},
|
||||
std::pair{"runtime-plan", "backend_runtime_plan_ms"},
|
||||
std::pair{"runtime-exec", "backend_runtime_execute_ms"},
|
||||
std::pair{"mvp", "backend_mvp_update_ms"},
|
||||
std::pair{"frame-begin", "backend_frame_begin_ms"},
|
||||
std::pair{"frame-plan", "backend_frame_plan_ms"},
|
||||
std::pair{"external", "backend_external_register_ms"},
|
||||
std::pair{"attach", "backend_frame_attach_ms"},
|
||||
std::pair{"frame-exec", "backend_frame_execute_ms"},
|
||||
std::pair{"finish", "backend_frame_finish_ms"}};
|
||||
output << " backend-detail " << id;
|
||||
for (const auto& [label, statistic] :
|
||||
detailed_backend_statistics)
|
||||
output << " " << label << "95/max="
|
||||
<< counter(prefix + statistic + "/p95") << "/"
|
||||
<< counter(prefix + statistic + "/max");
|
||||
output << '\n';
|
||||
constexpr std::array detailed_drp_statistics{
|
||||
std::pair{"validate", "backend_drp_validation_ms"},
|
||||
std::pair{"state", "backend_drp_state_ms"},
|
||||
std::pair{"buffer", "backend_drp_buffer_create_ms"},
|
||||
std::pair{"texture", "backend_drp_texture_create_ms"},
|
||||
std::pair{"shader", "backend_drp_shader_create_ms"},
|
||||
std::pair{"shader-compile", "backend_drp_shader_compile_ms"},
|
||||
std::pair{"shader-module", "backend_drp_shader_module_create_ms"},
|
||||
std::pair{"pipeline", "backend_drp_pipeline_create_ms"},
|
||||
std::pair{"binding", "backend_drp_binding_create_ms"},
|
||||
std::pair{"upload", "backend_drp_upload_ms"},
|
||||
std::pair{"transfer", "backend_drp_transfer_ms"},
|
||||
std::pair{"record", "backend_drp_record_ms"}};
|
||||
output << " drp-detail " << id;
|
||||
for (const auto& [label, statistic] : detailed_drp_statistics)
|
||||
output << " " << label << "95/max="
|
||||
<< counter(prefix + statistic + "/p95") << "/"
|
||||
<< counter(prefix + statistic + "/max");
|
||||
output << '\n';
|
||||
}
|
||||
output << "aggregate_fps=" << counter("aggregate_fps")
|
||||
<< " min_fps=" << counter("minimum_plot_fps")
|
||||
|
||||
Reference in New Issue
Block a user