render_stats Function

private function render_stats(self) result(stats)

The window's frame rate and frame times (see vkf_diagnostics); zeros while it isn't open.

Type Bound

WindowProxy

Arguments

Type IntentOptional Attributes Name
class(WindowProxy), intent(in) :: self

Return Value type(RenderStats)


Calls

proc~~render_stats~~CallsGraph proc~render_stats WindowProxy%render_stats interface~vkf_viewer_stats vkf_viewer_stats proc~render_stats->interface~vkf_viewer_stats

Source Code

    function render_stats(self) result(stats)
        class(WindowProxy), intent(in) :: self
        type(RenderStats) :: stats
        real(c_double) :: s(9)
        if (.not. c_associated(self%viewer_)) return
        if (vkf_viewer_stats(self%viewer_, s, 9_c_int) /= 0) return
        stats%fps = self%fps_
        stats%frame_ms = self%frame_ms_
        stats%frames = int(s(1), int64)
        stats%acquire_ms = s(2)
        stats%record_ms = s(3)
        stats%present_ms = s(4)
        stats%gpu_ms = s(5)
        stats%width = nint(s(6))
        stats%height = nint(s(7))
        stats%gpu_memory_used = s(8)
        stats%gpu_memory_budget = s(9)
        stats%program_ms = max(0.0_wp, self%last_frame_ms - (s(2) + s(3) + s(4)))
    end function render_stats