The implementation will maintain a limited amount of history of timing
information about previous presents.
Because of the asynchronous nature of the presentation engine, the timing
information for a given vkQueuePresentKHR command will become
available some time later.
These time values can be asynchronously queried, and will be returned if
All time values are in nanoseconds, relative to a monotonically-increasing
CLOCK_MONOTONIC (see clock_gettime(2)) on Android and Linux).
To asynchronously query the presentation engine, for newly-available timing information about one or more previous presents to a given swapchain, call:
// Provided by VK_GOOGLE_display_timing VkResult vkGetPastPresentationTimingGOOGLE( VkDevice device, VkSwapchainKHR swapchain, uint32_t* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings);
deviceis the device associated with
swapchainis the swapchain to obtain presentation timing information duration for.
pPresentationTimingCountis a pointer to an integer related to the number of
VkPastPresentationTimingGOOGLEstructures to query, as described below.
NULLor a pointer to an array of
NULL, then the number of newly-available
timing records for the given
swapchain is returned in
pPresentationTimingCount must point to a variable set by
the user to the number of elements in the
and on return the variable is overwritten with the number of structures
actually written to
If the value of
pPresentationTimingCount is less than the number of
newly-available timing records, at most
structures will be written.
pPresentationTimingCount is smaller than the number of
newly-available timing records for the given
VK_INCOMPLETE will be returned instead of
VK_SUCCESS to indicate
that not all the available values were returned.
For more information, see the Vulkan Specification
This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.