Erratic vertical sync timing

When using the VK_PRESENT_MODE_FIFO_KHR presentation mode for a swapchain on a window with a 60 Hz refresh rate, I have found that I cannot guarantee that the rendering rate is both fixed at 60 FPS (i.e. the time cost of each frame is fixed at 16.6 ms), even though I am not rendering anything. The actual duration of each frame (actually the present call) can sometimes reach 2 vertical sync periods (i.e. 32 ms) and sometimes is not even an integer multiple of a vertical sync period (e.g. 25 ms). I’ve tested some rendering engines like BGFX with different graphics cards from different vendors and with different drivers, but they all have this phenomenon. Can anyone help me solve this problem? Thank you very much!