DVUI

FPS

Parameters

#
self:*const Self
*const Self

Source

Implementation

#
pub fn FPS(self: *const Self) f32 {
    const diff = self.frame_times[0];
    if (diff == 0) {
        return 0;
    }

    const avg = @as(f32, @floatFromInt(diff)) / @as(f32, @floatFromInt(self.frame_times.len - 1));
    const fps = 1_000_000.0 / avg;

    if (false) {
        std.debug.print("frame times\n", .{});
        var last: u32 = self.frame_times[0];
        for (self.frame_times, 0..) |t, i| {
            std.debug.print("  {d} {d} - {d}\n", .{ i, t, last - t });
            last = t;
        }
    }

    return fps;
}