diff options
Diffstat (limited to 'src/profiling.c')
-rw-r--r-- | src/profiling.c | 85 |
1 files changed, 45 insertions, 40 deletions
diff --git a/src/profiling.c b/src/profiling.c index a3b073b..0255552 100644 --- a/src/profiling.c +++ b/src/profiling.c | |||
@@ -60,8 +60,9 @@ static bool profile_show = true; | |||
60 | txt_printf(">PARAM %.8lu\n", avg_draw_param_cycles);\ | 60 | txt_printf(">PARAM %.8lu\n", avg_draw_param_cycles);\ |
61 | txt_printf(">PIANO %.8lu\n", avg_draw_piano_cycles);\ | 61 | txt_printf(">PIANO %.8lu\n", avg_draw_piano_cycles);\ |
62 | txt_printf(">CURSOR %.8lu\n", avg_draw_cursor_cycles);\ | 62 | txt_printf(">CURSOR %.8lu\n", avg_draw_cursor_cycles);\ |
63 | txt_printf("RENDER %.8lu\n", avg_render_cycles);\ | 63 | txt_printf("UPDATE %.8lu\n", avg_update_cycles);\ |
64 | txt_printf("INPUT %.8lu\n", avg_input_cycles);\ | 64 | txt_printf("INPUT %.8lu\n", avg_input_cycles);\ |
65 | txt_printf("RENDER %.8lu\n", avg_render_cycles);\ | ||
65 | txt_printf("TOTAL %.8lu\n", avg_frame_cycles);\ | 66 | txt_printf("TOTAL %.8lu\n", avg_frame_cycles);\ |
66 | txt_render();\ | 67 | txt_render();\ |
67 | }\ | 68 | }\ |
@@ -82,53 +83,57 @@ static bool profile_show = true; | |||
82 | 83 | ||
83 | static u32 prof_frame_counter = 0; | 84 | static u32 prof_frame_counter = 0; |
84 | 85 | ||
85 | static u32 frame_cycles = 0; | 86 | static u32 frame_cycles = 0; |
86 | static u32 flip_cycles = 0; | 87 | static u32 flip_cycles = 0; |
87 | static u32 clear_cycles = 0; | 88 | static u32 clear_cycles = 0; |
88 | static u32 input_cycles = 0; | 89 | static u32 input_cycles = 0; |
89 | static u32 draw_trigs_cycles = 0; | 90 | static u32 draw_trigs_cycles = 0; |
90 | static u32 draw_btn_cycles = 0; | 91 | static u32 draw_btn_cycles = 0; |
91 | static u32 draw_piano_cycles = 0; | 92 | static u32 draw_piano_cycles = 0; |
92 | static u32 draw_param_cycles = 0; | 93 | static u32 draw_param_cycles = 0; |
93 | static u32 draw_cursor_cycles = 0; | 94 | static u32 draw_cursor_cycles = 0; |
94 | static u32 render_cycles = 0; | 95 | static u32 render_cycles = 0; |
96 | static u32 update_cycles = 0; | ||
95 | 97 | ||
96 | static u32 avg_frame_cycles = 0; | 98 | static u32 avg_frame_cycles = 0; |
97 | static u32 avg_flip_cycles = 0; | 99 | static u32 avg_flip_cycles = 0; |
98 | static u32 avg_clear_cycles = 0; | 100 | static u32 avg_clear_cycles = 0; |
99 | static u32 avg_input_cycles = 0; | 101 | static u32 avg_input_cycles = 0; |
100 | static u32 avg_draw_trigs_cycles = 0; | 102 | static u32 avg_draw_trigs_cycles = 0; |
101 | static u32 avg_draw_btns_cycles = 0; | 103 | static u32 avg_draw_btns_cycles = 0; |
102 | static u32 avg_draw_piano_cycles = 0; | 104 | static u32 avg_draw_piano_cycles = 0; |
103 | static u32 avg_draw_param_cycles = 0; | 105 | static u32 avg_draw_param_cycles = 0; |
104 | static u32 avg_draw_cursor_cycles = 0; | 106 | static u32 avg_draw_cursor_cycles = 0; |
105 | static u32 avg_render_cycles = 0; | 107 | static u32 avg_render_cycles = 0; |
108 | static u32 avg_update_cycles = 0; | ||
106 | 109 | ||
107 | #if PROF_ENABLE == 1 | 110 | #if PROF_ENABLE == 1 |
108 | #define FRAME_START()\ | 111 | #define FRAME_START()\ |
109 | do { \ | 112 | do { \ |
110 | if (prof_frame_counter == PROF_N_FRAMES) {\ | 113 | if (prof_frame_counter == PROF_N_FRAMES) {\ |
111 | avg_frame_cycles = frame_cycles / prof_frame_counter;\ | 114 | avg_frame_cycles = frame_cycles / prof_frame_counter;\ |
112 | avg_flip_cycles = flip_cycles / prof_frame_counter;\ | 115 | avg_flip_cycles = flip_cycles / prof_frame_counter;\ |
113 | avg_clear_cycles = clear_cycles / prof_frame_counter;\ | 116 | avg_clear_cycles = clear_cycles / prof_frame_counter;\ |
114 | avg_draw_trigs_cycles = draw_trigs_cycles / prof_frame_counter;\ | 117 | avg_draw_trigs_cycles = draw_trigs_cycles / prof_frame_counter;\ |
115 | avg_draw_btns_cycles = draw_btn_cycles / prof_frame_counter;\ | 118 | avg_draw_btns_cycles = draw_btn_cycles / prof_frame_counter;\ |
116 | avg_draw_piano_cycles = draw_piano_cycles / prof_frame_counter;\ | 119 | avg_draw_piano_cycles = draw_piano_cycles / prof_frame_counter;\ |
117 | avg_draw_param_cycles = draw_param_cycles / prof_frame_counter;\ | 120 | avg_draw_param_cycles = draw_param_cycles / prof_frame_counter;\ |
118 | avg_draw_cursor_cycles = draw_cursor_cycles / prof_frame_counter;\ | 121 | avg_draw_cursor_cycles = draw_cursor_cycles / prof_frame_counter;\ |
119 | avg_input_cycles = input_cycles / prof_frame_counter;\ | 122 | avg_input_cycles = input_cycles / prof_frame_counter;\ |
120 | avg_render_cycles = render_cycles / prof_frame_counter;\ | 123 | avg_render_cycles = render_cycles / prof_frame_counter;\ |
121 | frame_cycles = 0;\ | 124 | avg_update_cycles = update_cycles / prof_frame_counter;\ |
122 | flip_cycles = 0;\ | 125 | frame_cycles = 0;\ |
123 | clear_cycles = 0;\ | 126 | flip_cycles = 0;\ |
124 | input_cycles = 0;\ | 127 | clear_cycles = 0;\ |
128 | input_cycles = 0;\ | ||
125 | render_cycles = 0;\ | 129 | render_cycles = 0;\ |
126 | draw_trigs_cycles = 0;\ | 130 | update_cycles = 0;\ |
127 | draw_param_cycles = 0;\ | 131 | draw_trigs_cycles = 0;\ |
132 | draw_param_cycles = 0;\ | ||
128 | draw_cursor_cycles = 0;\ | 133 | draw_cursor_cycles = 0;\ |
129 | draw_btn_cycles = 0;\ | 134 | draw_btn_cycles = 0;\ |
130 | draw_piano_cycles = 0;\ | 135 | draw_piano_cycles = 0;\ |
131 | prof_frame_counter = 0;\ | 136 | prof_frame_counter = 0;\ |
132 | }\ | 137 | }\ |
133 | profile_start();\ | 138 | profile_start();\ |
134 | } while (0) | 139 | } while (0) |