[Litmit FPS] set the fps limit old size - Source Mu - Mu Server Files
 

Noticias:

SMF - Just Installed!

Menú principal

[Litmit FPS] set the fps limit old size

Publicado por Dakosmu, Abr 18, 2026, 05:19 PM

Tema anterior - Siguiente tema

0 Miembros y 3 Visitantes están viendo este tema.

Dakosmu

[Litmit FPS] set the fps limit old size

void LimitFPS(double targetFPS)
{
   static LARGE_INTEGER freq;
   static LARGE_INTEGER last;
   static bool init = false;

   if (!init)
   {
      QueryPerformanceFrequency(&freq);
      QueryPerformanceCounter(&last);
      timeBeginPeriod(1);
      SetThreadPriority(GetCurrentThread(), THREAD_PRIORITY_HIGHEST);
      init = true;
   }

   double frameTime = 1.0 / targetFPS;

   LARGE_INTEGER now;
   double elapsed;

   while (true)
   {
      QueryPerformanceCounter(&now);

      elapsed = (double)(now.QuadPart - last.QuadPart) / freq.QuadPart;

      if (elapsed >= frameTime) break;

      double remain = frameTime - elapsed;

      if (remain > 0.003)
      {
         DWORD ms = (DWORD)((remain - 0.001) * 1000);
         if (ms > 0) Sleep(ms);
      }
      else YieldProcessor();
   }

   QueryPerformanceCounter(&last);
   LimitFPS_Time = GetTickCount64();
}

Creditos BDCAM
Bon Dia

🡱 🡳
Real Time Web Analytics