Noxagonal/Vulkan2DRenderer

Resizing window freezes the application on Linux.

Closed this issue · 3 comments

This is something to do with AcquireImage function. Maybe called too often in a row? This doesn't happen on Windows as Windows freezes the application during resizing.
The application won't shut down properly either.

Constantly recreating the swapchain while resizing is a heavy task anyways, might look into just disabling or limiting framerate of the "live" update when the window is being resized.

exuvo commented

Is this not the same bug i fixed in exuvo@b552227 ?

I've rewritten the entire function so it's much more easier to understand. I did take that bug into consideration as well. I'll investigate it soon.

Is it working on your end?

Adding vkQueueWaitIdle( primary_render_queue.GetQueue() ); to vk2d::_internal::WindowImpl::ReCreateSwapchain() Seems to fix this. This is a bit weird as the frame is synchronized on the line above so there shouldn't be any more pending tasks for the GPU. I'm going to mark this as resolved however as normally windows aren't resized during runtime anyways.