1 /** 2 * @file lv_demo_benchmark.h 3 * 4 */ 5 6 #ifndef LV_DEMO_BENCHMARK_H 7 #define LV_DEMO_BENCHMARK_H 8 9 #ifdef __cplusplus 10 extern "C" { 11 #endif 12 13 /********************* 14 * INCLUDES 15 *********************/ 16 #include "../lv_demos.h" 17 18 #if LV_USE_DEMO_BENCHMARK 19 20 /********************* 21 * DEFINES 22 *********************/ 23 24 /********************** 25 * TYPEDEFS 26 **********************/ 27 28 /********************** 29 * GLOBAL PROTOTYPES 30 **********************/ 31 32 /** 33 * Run all benchmark scenes. 34 * 35 * On the summary end screen the values shall be interpreted according to the following: 36 * - CPU usage: 37 * - If `LV_SYSMON_GET_IDLE` is not modified it's measured based on the time spent in 38 * `lv_timer_handler`. 39 * - If an (RT)OS is used `LV_SYSMON_GET_IDLE` can be changed to a custom function 40 * which returns the idle percentage of idle task. 41 * 42 * - FPS: LVGL attempted to render this many times in a second. It's limited based on `LV_DEF_REFR_PERIOD` 43 * 44 * - Render time: LVGL spent this much time with rendering only. It's not aware of task yielding, 45 * but simply the time difference between the start and end of the rendering is measured 46 * 47 * - Flush time: It's the sum of 48 * - the time spent in the `flush_cb` and 49 * - the time spent with waiting for flush ready. 50 */ 51 void lv_demo_benchmark(void); 52 53 /********************** 54 * MACROS 55 **********************/ 56 57 #endif /*LV_USE_DEMO_BENCHMARK*/ 58 59 #ifdef __cplusplus 60 } /* extern "C" */ 61 #endif 62 63 #endif /*LV_DEMO_BENCHMARK_H*/ 64