Vulkan:什么可能导致AMD卡上非常差的fps,但是在NVIDIA卡上的确定fps

时间:2017-09-18 14:07:49

标签: vulkan

我是一个致力于3D游戏引擎的团队的一员,该游戏引擎具有vulkan渲染系统。到目前为止,我们一直在测试NVIDIA显卡,如GTX 970,并且性能不错。 但是最近我们在AMD显卡上测试了一个场景并获得了非常低的fps:

例如,渲染一个sponza场景:
AMD R9 Fury:5 fps
NVIDIA GeForce GTX 970:64 fps

NVIDIA fps不是很好,但比AMD好得多。

你们有什么想法可能导致AMD卡上fps的这种差异吗? 或者你知道如何隔离导致AMD卡上低fps的原因吗?

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

在每次提交时访问大量vkDeviceMemory值时,AMD驱动程序会出现问题。这在Windows 7/8上尤其是一个问题,它没有WDDM 2.0。实际上,如果在Window 7上使用太多(~1000),则很容易重现BSOD。 Nvidia司机似乎在幕后做某事,并且不受这些限制。但是,因此,他们的驱动程序实现可能会隐藏一些用户优化的机会。

无论如何,建议汇集您的内存分配,以便从同一个分段VkImage分配VkBuffersvkDeviceMemory。有一个名为Vulkan Memory Allocater的开源库,它试图帮助实现这种行为(并且它可疑地由AMD撰写!)。