summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorJeffery Myers <[email protected]>2023-10-23 01:11:50 -0700
committerGitHub <[email protected]>2023-10-23 10:11:50 +0200
commit4ed776368a488b242781d77753f4b11396f97ce7 (patch)
treef6859d120b765217874641e010d23986825fad44 /src
parent8f517b76516c207c89cabf055fa7db768ba6d960 (diff)
downloadraylib-4ed776368a488b242781d77753f4b11396f97ce7.tar.gz
raylib-4ed776368a488b242781d77753f4b11396f97ce7.zip
When the frame counter gets to 0, reset the FPS average counter. This allows the window to be closed and reopened with clean FPS stats. (#3445)
Diffstat (limited to 'src')
-rw-r--r--src/rcore.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/rcore.c b/src/rcore.c
index e3cd0818..9bd47983 100644
--- a/src/rcore.c
+++ b/src/rcore.c
@@ -484,9 +484,9 @@ void InitWindow(int width, int height, const char *title)
}
#endif
+ CORE.Time.frameCounter = 0;
#if defined(SUPPORT_EVENTS_AUTOMATION)
events = (AutomationEvent *)RL_CALLOC(MAX_CODE_AUTOMATION_EVENTS, sizeof(AutomationEvent));
- CORE.Time.frameCounter = 0;
#endif
// Initialize random seed
@@ -1396,6 +1396,16 @@ int GetFPS(void)
static float average = 0, last = 0;
float fpsFrame = GetFrameTime();
+ // if we reset the window, reset the FPS info
+ if (CORE.Time.frameCounter == 0)
+ {
+ average = 0;
+ last = 0;
+ index = 0;
+ for (int i = 0; i < FPS_CAPTURE_FRAMES_COUNT; i++)
+ history[i] = 0;
+ }
+
if (fpsFrame == 0) return 0;
if ((GetTime() - last) > FPS_STEP)