Mercurial > repos > blastem
comparison render_sdl.c @ 63:a6dd5b7a971b
Add FPS counter to console output
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Wed, 19 Dec 2012 20:53:59 -0800 |
parents | 8317f174d916 |
children | 2b1a65f4b85d |
comparison
equal
deleted
inserted
replaced
62:b37cb596bc21 | 63:a6dd5b7a971b |
---|---|
160 } | 160 } |
161 } | 161 } |
162 | 162 |
163 #define FRAME_DELAY 16 | 163 #define FRAME_DELAY 16 |
164 #define MIN_DELAY 10 | 164 #define MIN_DELAY 10 |
165 | 165 uint32_t frame_counter = 0; |
166 uint32_t start = 0; | |
166 void wait_render_frame(vdp_context * context) | 167 void wait_render_frame(vdp_context * context) |
167 { | 168 { |
168 SDL_Event event; | 169 SDL_Event event; |
169 while(SDL_PollEvent(&event)) { | 170 while(SDL_PollEvent(&event)) { |
170 switch (event.type) { | 171 switch (event.type) { |
182 fclose(outfile); | 183 fclose(outfile); |
183 puts("state saved to state.gst"); | 184 puts("state saved to state.gst"); |
184 } | 185 } |
185 break; | 186 break; |
186 case SDL_QUIT: | 187 case SDL_QUIT: |
188 puts(""); | |
187 exit(0); | 189 exit(0); |
188 } | 190 } |
189 } | 191 } |
190 //TODO: Adjust frame delay so we actually get 60 FPS rather than 62.5 FPS | 192 //TODO: Adjust frame delay so we actually get 60 FPS rather than 62.5 FPS |
191 uint32_t current = SDL_GetTicks(); | 193 uint32_t current = SDL_GetTicks(); |
198 } | 200 } |
199 while ((desired) < SDL_GetTicks()) { | 201 while ((desired) < SDL_GetTicks()) { |
200 } | 202 } |
201 } | 203 } |
202 render_context(context); | 204 render_context(context); |
203 } | 205 frame_counter++; |
204 | 206 if ((last_frame - start) > 1000) { |
205 | 207 if (start) { |
208 printf("\r%f fps", ((float)frame_counter) / (((float)(last_frame-start)) / 1000.0)); | |
209 fflush(stdout); | |
210 } | |
211 start = last_frame; | |
212 frame_counter = 0; | |
213 } | |
214 } | |
215 | |
216 |