Vulkan教程项目帧率异常低下(6~8帧)问题求助
检查演示程序的同步机制
教程示例默认可能使用VK_PRESENT_MODE_FIFO_KHR(强制垂直同步模式),但6-8帧远低于常规显示器刷新率,大概率不是单纯的垂直同步限制。可以尝试显式指定VK_PRESENT_MODE_MAILBOX_KHR或VK_PRESENT_MODE_IMMEDIATE_KHR作为swap chain的present mode,观察帧率是否回升。验证Vulkan验证层的影响
VK_LAYER_LUNARG_monitor本身会有一定性能开销,但不至于低到这个程度。可以先关闭所有Vulkan验证层运行程序,或者检查环境变量VK_INSTANCE_LAYERS是否加载了过多调试层,这类冗余调试层可能大幅拖慢性能。确认GPU电源模式与驱动状态
笔记本的RTX3060很可能处于节能模式,哪怕你用vkGetPhysicalDeviceProperties确认选中了独显,系统运行时也可能偷偷切换到核显。打开NVIDIA控制面板,将你的程序设置为“使用高性能NVIDIA处理器”;另外直接更新到最新的NVIDIA显卡驱动,旧驱动常存在Vulkan相关的性能bug。排查GLFW窗口设置
检查GLFW窗口创建时有没有开启不必要的调试选项,或者误设了帧率限制。可以调用glfwSwapInterval(0)关闭GLFW的垂直同步,再测试帧率变化。检查渲染循环的阻塞点
查看渲染循环里有没有不必要的同步等待,比如vkWaitForFences设置了过长超时,或者每帧都重复创建命令缓冲、管线这类资源——这类重复操作会严重拖慢帧率。
内容的提问来源于stack exchange,提问作者SHiN

