Check and testing timming #865
This commit is contained in:
parent
3d936061c8
commit
08adb4b8c3
2 changed files with 12 additions and 9 deletions
13
src/core.c
13
src/core.c
|
@ -1279,13 +1279,15 @@ void EndDrawing(void)
|
||||||
Wait((float)(targetTime - frameTime)*1000.0f);
|
Wait((float)(targetTime - frameTime)*1000.0f);
|
||||||
|
|
||||||
currentTime = GetTime();
|
currentTime = GetTime();
|
||||||
double extraTime = currentTime - previousTime;
|
double waitTime = currentTime - previousTime;
|
||||||
previousTime = currentTime;
|
previousTime = currentTime;
|
||||||
|
|
||||||
frameTime += extraTime;
|
frameTime += waitTime; // Total frame time: update + draw + wait
|
||||||
}
|
|
||||||
|
|
||||||
return;
|
//SetWindowTitle(FormatText("Update: %f, Draw: %f, Req.Wait: %f, Real.Wait: %f, Total: %f, Target: %f\n",
|
||||||
|
// (float)updateTime, (float)drawTime, (float)(targetTime - (updateTime + drawTime)),
|
||||||
|
// (float)waitTime, (float)frameTime, (float)targetTime));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Initialize 2D mode with custom camera (2D)
|
// Initialize 2D mode with custom camera (2D)
|
||||||
|
@ -1588,13 +1590,12 @@ void SetTargetFPS(int fps)
|
||||||
// Returns current FPS
|
// Returns current FPS
|
||||||
int GetFPS(void)
|
int GetFPS(void)
|
||||||
{
|
{
|
||||||
return (int)(1.0f/GetFrameTime());
|
return (int)roundf(1.0f/GetFrameTime());
|
||||||
}
|
}
|
||||||
|
|
||||||
// Returns time in seconds for last frame drawn
|
// Returns time in seconds for last frame drawn
|
||||||
float GetFrameTime(void)
|
float GetFrameTime(void)
|
||||||
{
|
{
|
||||||
// NOTE: We round value to milliseconds
|
|
||||||
return (float)frameTime;
|
return (float)frameTime;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -759,7 +759,7 @@ void UnloadFont(Font font)
|
||||||
// NOTE: Uses default font
|
// NOTE: Uses default font
|
||||||
void DrawFPS(int posX, int posY)
|
void DrawFPS(int posX, int posY)
|
||||||
{
|
{
|
||||||
// NOTE: We are rendering fps every second for better viewing on high framerates
|
// NOTE: We are rendering fps every certain time for better viewing on high framerates
|
||||||
|
|
||||||
static int fps = 0;
|
static int fps = 0;
|
||||||
static int counter = 0;
|
static int counter = 0;
|
||||||
|
@ -773,6 +773,8 @@ void DrawFPS(int posX, int posY)
|
||||||
counter = 0;
|
counter = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO: Find a better way to calculate FPS, maybe calculate the mean of multiple measures?
|
||||||
|
|
||||||
// NOTE: We have rounding errors every frame, so it oscillates a lot
|
// NOTE: We have rounding errors every frame, so it oscillates a lot
|
||||||
DrawText(TextFormat("%2i FPS", fps), posX, posY, 20, LIME);
|
DrawText(TextFormat("%2i FPS", fps), posX, posY, 20, LIME);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue