|
|
@ -1265,27 +1265,29 @@ void EndDrawing(void) |
|
|
|
|
|
|
|
SwapBuffers(); // Copy back buffer to front buffer |
|
|
|
PollInputEvents(); // Poll user events |
|
|
|
|
|
|
|
|
|
|
|
// Frame time control system |
|
|
|
currentTime = GetTime(); |
|
|
|
drawTime = currentTime - previousTime; |
|
|
|
previousTime = currentTime; |
|
|
|
|
|
|
|
frameTime = updateTime + drawTime; |
|
|
|
|
|
|
|
|
|
|
|
// Wait for some milliseconds... |
|
|
|
if (frameTime < targetTime) |
|
|
|
{ |
|
|
|
Wait((float)(targetTime - frameTime)*1000.0f); |
|
|
|
|
|
|
|
currentTime = GetTime(); |
|
|
|
double extraTime = currentTime - previousTime; |
|
|
|
double waitTime = currentTime - previousTime; |
|
|
|
previousTime = currentTime; |
|
|
|
|
|
|
|
frameTime += extraTime; |
|
|
|
frameTime += waitTime; // Total frame time: update + draw + wait |
|
|
|
|
|
|
|
//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)); |
|
|
|
} |
|
|
|
|
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
// Initialize 2D mode with custom camera (2D) |
|
|
@ -1588,13 +1590,12 @@ void SetTargetFPS(int fps) |
|
|
|
// Returns current FPS |
|
|
|
int GetFPS(void) |
|
|
|
{ |
|
|
|
return (int)(1.0f/GetFrameTime()); |
|
|
|
return (int)n">roundf(1.0f/GetFrameTime()); |
|
|
|
} |
|
|
|
|
|
|
|
// Returns time in seconds for last frame drawn |
|
|
|
float GetFrameTime(void) |
|
|
|
{ |
|
|
|
// NOTE: We round value to milliseconds |
|
|
|
return (float)frameTime; |
|
|
|
} |
|
|
|
|
|
|
|