diff options
| author | Jeffery Myers <[email protected]> | 2023-10-23 01:11:50 -0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2023-10-23 10:11:50 +0200 |
| commit | 4ed776368a488b242781d77753f4b11396f97ce7 (patch) | |
| tree | f6859d120b765217874641e010d23986825fad44 /src | |
| parent | 8f517b76516c207c89cabf055fa7db768ba6d960 (diff) | |
| download | raylib-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.c | 12 |
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) |
