z_mirror/sdl-osu
git clone https://git.raiguard.me/z_mirror/sdl-osu
836a89c
trunk
1#include "frametiming.h" 2#include <SDL3/SDL.h> 3 4void Osu_UpdateFrameTiming (struct Osu_FrameTiming * frameTiming ) { 5Uint64 currentTime = SDL_GetTicksNS (); 6Uint64 lastFrameDuration = currentTime - frameTiming -> lastFrameTime ; 7frameTiming -> lastFrameTime = currentTime ; 8frameTiming -> accumulator += lastFrameDuration ; 9 10frameTiming -> sum = frameTiming -> sum - frameTiming -> frameTimes [frameTiming -> frameIndex ]+ lastFrameDuration ; 11frameTiming -> frameTimes [frameTiming -> frameIndex ]= lastFrameDuration ; 12frameTiming -> avgFrameDuration = (double )frameTiming -> sum /OSU_FRAME_TIME_SAMPLES ; 13frameTiming -> frameIndex = (frameTiming -> frameIndex + 1 ) %OSU_FRAME_TIME_SAMPLES ; 14}