float autocvar_hud_panel_engineinfo_framecounter_exponentialmovingaverage_instantupdate_change_threshold;
void HUD_EngineInfo()
{
- if(!autocvar__hud_configure)
- {
- if(!autocvar_hud_panel_engineinfo) return;
+ if (!autocvar__hud_configure) {
+ if (!autocvar_hud_panel_engineinfo) { return; }
}
HUD_Panel_LoadCvars();
pos = panel_pos;
mySize = panel_size;
- if (autocvar_hud_panel_engineinfo_dynamichud)
+ if (autocvar_hud_panel_engineinfo_dynamichud) {
HUD_Scale_Enable();
- else
+ } else {
HUD_Scale_Disable();
+ }
HUD_Panel_DrawBg();
- if(panel_bg_padding)
- {
+ if (panel_bg_padding) {
pos += '1 1 0' * panel_bg_padding;
mySize -= '2 2 0' * panel_bg_padding;
}
float currentTime = gettime(GETTIME_REALTIME);
- if(autocvar_hud_panel_engineinfo_framecounter_exponentialmovingaverage)
- {
+ if (autocvar_hud_panel_engineinfo_framecounter_exponentialmovingaverage) {
float currentframetime = currentTime - prevfps_time;
- frametimeavg = (frametimeavg + frametimeavg1 + frametimeavg2 + currentframetime)/4; // average three frametimes into framecounter for slightly more stable fps readings :P
+ frametimeavg = (frametimeavg + frametimeavg1 + frametimeavg2 + currentframetime) / 4; // average three frametimes into framecounter for slightly more stable fps readings :P
frametimeavg2 = frametimeavg1;
frametimeavg1 = frametimeavg;
float weight;
weight = autocvar_hud_panel_engineinfo_framecounter_exponentialmovingaverage_new_weight;
- if(currentframetime > 0.0001) // filter out insane values which sometimes seem to occur and throw off the average? If you are getting 10,000 fps or more, then you don't need a framerate counter.
- {
- if(fabs(prevfps - (1/frametimeavg)) > prevfps * autocvar_hud_panel_engineinfo_framecounter_exponentialmovingaverage_instantupdate_change_threshold) // if there was a big jump in fps, just force prevfps at current (1/currentframetime) to make big updates instant
- prevfps = (1/currentframetime);
- prevfps = (1 - weight) * prevfps + weight * (1/frametimeavg); // framecounter just used so there's no need for a new variable, think of it as "frametime average"
+ if (currentframetime > 0.0001) { // filter out insane values which sometimes seem to occur and throw off the average? If you are getting 10,000 fps or more, then you don't need a framerate counter.
+ if (fabs(prevfps - (1 / frametimeavg)) > prevfps * autocvar_hud_panel_engineinfo_framecounter_exponentialmovingaverage_instantupdate_change_threshold) { // if there was a big jump in fps, just force prevfps at current (1/currentframetime) to make big updates instant
+ prevfps = (1 / currentframetime);
+ }
+ prevfps = (1 - weight) * prevfps + weight * (1 / frametimeavg); // framecounter just used so there's no need for a new variable, think of it as "frametime average"
}
prevfps_time = currentTime;
- }
- else
- {
+ } else {
framecounter += 1;
- if(currentTime - prevfps_time > autocvar_hud_panel_engineinfo_framecounter_time)
- {
- prevfps = framecounter/(currentTime - prevfps_time);
+ if (currentTime - prevfps_time > autocvar_hud_panel_engineinfo_framecounter_time) {
+ prevfps = framecounter / (currentTime - prevfps_time);
framecounter = 0;
prevfps_time = currentTime;
}
}
vector color;
- color = HUD_Get_Num_Color (prevfps, 100);
+ color = HUD_Get_Num_Color(prevfps, 100);
drawstring_aspect(pos, sprintf(_("FPS: %.*f"), autocvar_hud_panel_engineinfo_framecounter_decimals, prevfps), mySize, color, panel_fg_alpha, DRAWFLAG_NORMAL);
}