vulkan: Reserve 4 images in the swapchain by default
authorBenjamin Otte <otte@redhat.com>
Thu, 29 Mar 2018 02:56:07 +0000 (04:56 +0200)
committerBenjamin Otte <otte@redhat.com>
Thu, 29 Mar 2018 03:02:15 +0000 (05:02 +0200)
With the previous approach we would spend most of the time waiting for
the swapchain to be filled again because it seems the compositor takes
care of 2 images at once from time to time.

This is not visible in profiles because waiting for a frame is a
read/poll/whatever operation that does not take CPU. It's only
noticeable because the app becomes less responsive.

gdk/gdkvulkancontext.c

index ba2c44b5c91775cccd4913cdce18345a839e0256..b9c24dcbe8f5e5f2c1a0af4300e8526a727b40df 100644 (file)
@@ -305,7 +305,7 @@ gdk_vulkan_context_check_swapchain (GdkVulkanContext  *context,
                                                 .pNext = NULL,
                                                 .flags = 0,
                                                 .surface = priv->surface,
-                                                .minImageCount = CLAMP (2,
+                                                .minImageCount = CLAMP (4,
                                                                         capabilities.minImageCount,
                                                                         capabilities.maxImageCount ? capabilities.maxImageCount : G_MAXUINT32),
                                                 .imageFormat = priv->image_format.format,