u64 time_end = SDL_GetPerformanceCounter(),
delta = time_end - profile->start;
- if( profile->mode == k_profile_mode_frame )
- {
+ if( profile->mode == k_profile_mode_frame ){
profile->samples[ profile->buffer_current ] = delta;
vg_profile_increment( profile );
}
- else
- {
+ else{
profile->samples[ profile->buffer_current ] += delta;
}
}
double avgs[8];
int ptrs[8];
- for( int i=0; i<count; i++ )
- {
+ for( int i=0; i<count; i++ ){
ptrs[i] = profiles[i]->buffer_current;
avgs[i] = 0.0f;
}
double rate_mul = 1000.0 / (double)SDL_GetPerformanceFrequency();
- for( int i=0; i<VG_PROFILE_SAMPLE_COUNT-1; i++ )
- {
+ for( int i=0; i<VG_PROFILE_SAMPLE_COUNT-1; i++ ){
double total = 0.0;
- for( int j=0; j<count; j++ )
- {
+ for( int j=0; j<count; j++ ){
ptrs[j] --;
if( ptrs[j] < 0 )
1,
k_text_align_left );
- for( int i=0; i<count; i++ )
- {
+ for( int i=0; i<count; i++ ){
snprintf( infbuf, 64, "%.4fms %s",
avgs[i] * (1.0f/(VG_PROFILE_SAMPLE_COUNT-1)),
profiles[i]->name );
VG_STATIC void vg_profiler_init(void)
{
- vg_var_push( (struct vg_var){
- .name = "vg_profiler",
- .data = &vg_profiler,
- .data_type = k_var_dtype_i32,
- .opt_i32 = { .min=0, .max=1, .clamp=1 },
- .persistent = 1
- });
+ VG_VAR_I32( vg_profiler, flags=VG_VAR_PERSISTENT );
}
#endif /* VG_PROFILER_H */