仍然闪烁
This commit is contained in:
@@ -50,6 +50,8 @@ std::string source_text(Refresh_Limit_Source source) {
|
||||
switch (source) {
|
||||
case Refresh_Limit_Source::Unknown:
|
||||
return "unknown";
|
||||
case Refresh_Limit_Source::Input:
|
||||
return "input";
|
||||
case Refresh_Limit_Source::Render:
|
||||
return "render";
|
||||
case Refresh_Limit_Source::Paint:
|
||||
@@ -78,6 +80,30 @@ std::string outcome_text(Frame_Outcome outcome) {
|
||||
}
|
||||
return "unknown";
|
||||
}
|
||||
std::string bottleneck_text(Low_Latency_Bottleneck_State state) {
|
||||
switch (state) {
|
||||
case Low_Latency_Bottleneck_State::Unknown:
|
||||
return "unknown";
|
||||
case Low_Latency_Bottleneck_State::Input_Limited:
|
||||
return "input";
|
||||
case Low_Latency_Bottleneck_State::Producer_Limited:
|
||||
return "producer";
|
||||
case Low_Latency_Bottleneck_State::Consumer_Limited:
|
||||
return "consumer";
|
||||
case Low_Latency_Bottleneck_State::User_Limited:
|
||||
return "user";
|
||||
}
|
||||
return "unknown";
|
||||
}
|
||||
std::string production_strategy_text(Low_Latency_Production_Strategy strategy) {
|
||||
switch (strategy) {
|
||||
case Low_Latency_Production_Strategy::Latency_Eager:
|
||||
return "latency_eager";
|
||||
case Low_Latency_Production_Strategy::Cost_Balanced:
|
||||
return "cost_balanced";
|
||||
}
|
||||
return "latency_eager";
|
||||
}
|
||||
std::string csv_escape(const std::string& value) {
|
||||
std::string escaped;
|
||||
escaped.reserve(value.size() + 2);
|
||||
@@ -149,10 +175,19 @@ public:
|
||||
<< frame.input_version << ','
|
||||
<< outcome_text(frame.outcome) << ','
|
||||
<< source_text(refresh.source) << ','
|
||||
<< source_text(refresh.candidate_source) << ','
|
||||
<< bottleneck_text(refresh.stable_bottleneck) << ','
|
||||
<< bottleneck_text(refresh.candidate_bottleneck) << ','
|
||||
<< refresh.candidate_age_ns << ','
|
||||
<< refresh.candidate_samples << ','
|
||||
<< production_strategy_text(refresh.production_strategy) << ','
|
||||
<< refresh.render_period_ns << ','
|
||||
<< refresh.paint_period_ns << ','
|
||||
<< refresh.user_period_ns << ','
|
||||
<< refresh.target_period_ns << ','
|
||||
<< refresh.effective_min_render_interval_ns << ','
|
||||
<< refresh.repeated_frame_count << ','
|
||||
<< refresh.underrun_count << ','
|
||||
<< duration_ms(frame.render_request_ns, frame.render_begin_ns) << ','
|
||||
<< duration_ms(frame.prepare_begin_ns, frame.prepare_end_ns) << ','
|
||||
<< duration_ms(frame.draw_begin_ns, frame.draw_end_ns) << ','
|
||||
@@ -209,7 +244,7 @@ private:
|
||||
return value;
|
||||
}
|
||||
static std::string header() {
|
||||
return "frame_id,input_version,outcome,limit_source,render_period_ns,paint_period_ns,user_period_ns,target_period_ns,request_wait_ms,prepare_ms,draw_ms,render_ms,middle_wait_ms,update_wait_ms,paint_ms,frame_age_ms,render_queue_wait_ns,ready_queue_wait_ns,present_queue_wait_ns,paint_return_wait_ns,raw_input_count,prepared_output_count,cache_hit_count,cache_miss_count,cache_rebuild_count,cache_rebuild_time_ns,cache_compose_time_ns,cache_image_bytes,cache_image_area,cache_hit_ratio,pixel_width,pixel_height,core_data_time_ns,render_begin_time_ns,render_end_time_ns,transition_12_ns,transition_23_ns,paint_begin_time_ns,paint_end_time_ns,transition_32_ns,superseded_time_ns,renderable_stats,renderable_cache_stats";
|
||||
return "frame_id,input_version,outcome,limit_source,candidate_source,stable_bottleneck,candidate_bottleneck,candidate_age_ns,candidate_samples,production_strategy,render_period_ns,paint_period_ns,user_period_ns,target_period_ns,effective_min_render_interval_ns,repeated_frame_count,underrun_count,request_wait_ms,prepare_ms,draw_ms,render_ms,middle_wait_ms,update_wait_ms,paint_ms,frame_age_ms,render_queue_wait_ns,ready_queue_wait_ns,present_queue_wait_ns,paint_return_wait_ns,raw_input_count,prepared_output_count,cache_hit_count,cache_miss_count,cache_rebuild_count,cache_rebuild_time_ns,cache_compose_time_ns,cache_image_bytes,cache_image_area,cache_hit_ratio,pixel_width,pixel_height,core_data_time_ns,render_begin_time_ns,render_end_time_ns,transition_12_ns,transition_23_ns,paint_begin_time_ns,paint_end_time_ns,transition_32_ns,superseded_time_ns,renderable_stats,renderable_cache_stats";
|
||||
}
|
||||
};
|
||||
Frame_Performance_Logger& frame_log() {
|
||||
|
||||
Reference in New Issue
Block a user