VulkanTools
VulkanTools copied to clipboard
Possible deadlock in monitor layer
Because the LUNARG_monitor layer calls SetWindowText at present time, it will block until the thread processing window events processes the message. If that thread is blocked waiting for present to finish, there is deadlock.
A possible solution would be to avoid the call to SetWindowText and render the FPS measurement directly into the present buffer (see the overlay sample in VulkanSamples). The problem was that rendering the FPS using the method in the overlay sample affected the FPS seen by high frame rate Vulkan apps. Finding a low overhead means of rendering the FPS into the present buffer or an overlay buffer would be one way to avoid the possible deadlock.