1. Run server without FPS LIMIT
2. Log time between CallLater calls
3. At a certain point the script calls start getting delayed, causing the "FPS measurement" to return low values <--- this usually happens ~4-5 hours in
This works for me 100% of the time, with 0 players ever connecting to the server, with players on the server and with and without mods (only using the framelogger when running without mods).
add the frame logger function to the CallLater:
```
// add the frame log to the que
GetGame().GetCallQueue(CALL_CATEGORY_SYSTEM).CallLater(dayxSrv_frameLogs_logFrames, 0, true);
```
Code used inside the frame logger function
```
dayxSrv_frameLogs_m_Counter ++;
// only check every 100 times it runs
if (dayxSrv_frameLogs_m_Counter % 100 != 0) {
return;
};
// calculate time from last tick
dayxSrv_frameLogs_m_FPS = (GetGame().GetTickTime() - dayxSrv_frameLogs_m_LastTick);
dayxSrv_frameLogs_m_LastTick = GetGame().GetTickTime();
// calculate the average over time
dayxSrv_frameLogs_m_FPS = dayxSrv_frameLogs_m_FPS / 100; // time it took on avg for 1 frame
dayxSrv_frameLogs_m_FPS = 1/dayxSrv_frameLogs_m_FPS;
```