c++ - 在 Vulkan 中启用垂直同步

标签 c++ c vsync vulkan

如何在 Vulkan 中使用垂直同步?我在 Windows 上,但代码也应该在 Linux 上运行。是不是通过在vkAcquireNextImageKHR中插入栅栏实现的?

最佳答案

尽管您可能意识到通过使用栅栏,正确的方法是使用等待垂直空白的演示模式,如 VK_PRESENT_MODE_FIFO_KHR。

Intel 有一篇很棒的文章详细介绍了 Vulkan 的不同呈现模式 over here

请注意,此模式可能并非在所有设备上都可用,并且即使您选择了相应的演示模式,某些驱动程序也可能会忽略垂直同步。因此,如果您使用其中一种模式并且没有获得垂直同步,您可能需要等待更新的驱动程序。

但如果它在驱动程序内部实现,这是在 Vulkan 支持的所有平台上执行垂直同步的正确方法。

关于c++ - 在 Vulkan 中启用垂直同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36896021/

相关文章:

objective-c - 在嵌套的for循环中,我们如何从第二个循环返回到第一个循环?

apache-flex - Flex/Flash/AS3中的Vsync?

c++ - Qt 框架 : How to display a QGraphicsView in a layout?

c++ - 将 vector 值复制到 char*

c - 在 linux c 中使用已知的 key_t 查找 msqid

graphics - 如何避免在 Linux/X11 上使用 pygame 撕裂

c++ - 使用 qt 和 opengl 显示图像,计时精度和 vsync 问题,c++

c++ - Clang++ 生成泄漏内存的可执行文件,关于 std::function 和 lambda

c++ - 尝试使用 OpenGL 时出错

在并行 for 循环中调用函数