feat(benchmark): update the end screen of the benchmark (#5208)
This commit is contained in:
committed by
GitHub
parent
01f75a5c4d
commit
ba75d64eec
@@ -476,11 +476,19 @@ static void sysmon_perf_observer_cb(lv_observer_t * observer, lv_subject_t * sub
|
||||
const lv_sysmon_perf_info_t * info = lv_subject_get_pointer(subject);
|
||||
lv_obj_t * label = lv_observer_get_target(observer);
|
||||
|
||||
char scene_name[64];
|
||||
if(scenes[scene_act].name[0] != '\0') {
|
||||
lv_snprintf(scene_name, sizeof(scene_name), "%s: ", scenes[scene_act].name);
|
||||
}
|
||||
else {
|
||||
scene_name[0] = '\0';
|
||||
}
|
||||
|
||||
lv_label_set_text_fmt(label,
|
||||
"%s: "
|
||||
"%s"
|
||||
"%" LV_PRIu32" FPS, %" LV_PRIu32 "%% CPU\n"
|
||||
"refr. %" LV_PRIu32" ms = %" LV_PRIu32 "ms render + %" LV_PRIu32" ms flush",
|
||||
scenes[scene_act].name,
|
||||
scene_name,
|
||||
info->calculated.fps, info->calculated.cpu,
|
||||
info->calculated.render_avg_time + info->calculated.flush_avg_time,
|
||||
info->calculated.render_avg_time, info->calculated.flush_avg_time);
|
||||
@@ -544,17 +552,15 @@ static void summary_create(void)
|
||||
lv_table_set_cell_value(table, 0, 0, "Name");
|
||||
lv_table_set_cell_value(table, 0, 1, "Avg. CPU");
|
||||
lv_table_set_cell_value(table, 0, 2, "Avg. FPS");
|
||||
lv_table_set_cell_value(table, 0, 3, "Avg. render time");
|
||||
lv_table_set_cell_value(table, 0, 4, "Avg. flush time");
|
||||
lv_table_set_cell_value(table, 0, 3, "Avg. time (render + flush)");
|
||||
|
||||
lv_obj_update_layout(table);
|
||||
int32_t col_w = lv_obj_get_content_width(table) / 5;
|
||||
int32_t col_w = lv_obj_get_content_width(table) / 4;
|
||||
|
||||
lv_table_set_column_width(table, 0, col_w);
|
||||
lv_table_set_column_width(table, 1, col_w);
|
||||
lv_table_set_column_width(table, 2, col_w);
|
||||
lv_table_set_column_width(table, 3, col_w);
|
||||
lv_table_set_column_width(table, 4, col_w);
|
||||
|
||||
uint32_t i;
|
||||
int32_t total_avg_fps = 0;
|
||||
@@ -570,14 +576,16 @@ static void summary_create(void)
|
||||
lv_table_set_cell_value(table, i + 2, 1, "N/A");
|
||||
lv_table_set_cell_value(table, i + 2, 2, "N/A");
|
||||
lv_table_set_cell_value(table, i + 2, 3, "N/A");
|
||||
lv_table_set_cell_value(table, i + 2, 4, "N/A");
|
||||
}
|
||||
else {
|
||||
int32_t cnt = scenes[i].measurement_cnt - 1;
|
||||
lv_table_set_cell_value_fmt(table, i + 2, 1, "%"LV_PRIu32" %%", scenes[i].cpu_avg_usage / cnt);
|
||||
lv_table_set_cell_value_fmt(table, i + 2, 2, "%"LV_PRIu32" FPS", scenes[i].fps_avg / cnt);
|
||||
lv_table_set_cell_value_fmt(table, i + 2, 3, "%"LV_PRIu32" ms", scenes[i].render_avg_time / cnt);
|
||||
lv_table_set_cell_value_fmt(table, i + 2, 4, "%"LV_PRIu32" ms", scenes[i].flush_avg_time / cnt);
|
||||
|
||||
uint32_t render_time = scenes[i].render_avg_time / cnt;
|
||||
uint32_t flush_time = scenes[i].flush_avg_time / cnt;
|
||||
lv_table_set_cell_value_fmt(table, i + 2, 3, "%"LV_PRIu32" ms (%"LV_PRIu32" + %"LV_PRIu32")",
|
||||
render_time + flush_time, render_time, flush_time);
|
||||
|
||||
valid_scene_cnt++;
|
||||
total_avg_cpu += scenes[i].cpu_avg_usage / cnt;
|
||||
@@ -593,13 +601,15 @@ static void summary_create(void)
|
||||
lv_table_set_cell_value(table, 1, 1, "N/A");
|
||||
lv_table_set_cell_value(table, 1, 2, "N/A");
|
||||
lv_table_set_cell_value(table, 1, 3, "N/A");
|
||||
lv_table_set_cell_value(table, 1, 4, "N/A");
|
||||
}
|
||||
else {
|
||||
lv_table_set_cell_value_fmt(table, 1, 1, "%"LV_PRIu32" %%", total_avg_cpu / valid_scene_cnt);
|
||||
lv_table_set_cell_value_fmt(table, 1, 2, "%"LV_PRIu32" FPS", total_avg_fps / valid_scene_cnt);
|
||||
lv_table_set_cell_value_fmt(table, 1, 3, "%"LV_PRIu32" ms", total_avg_render_time / valid_scene_cnt);
|
||||
lv_table_set_cell_value_fmt(table, 1, 4, "%"LV_PRIu32" ms", total_avg_flush_time / valid_scene_cnt);
|
||||
|
||||
uint32_t render_time = total_avg_render_time / valid_scene_cnt;
|
||||
uint32_t flush_time = total_avg_flush_time / valid_scene_cnt;
|
||||
lv_table_set_cell_value_fmt(table, 1, 3, "%"LV_PRIu32" ms (%"LV_PRIu32" + %"LV_PRIu32")",
|
||||
render_time + flush_time, render_time, flush_time);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user