DirectX 11-第二个GPU速度较慢?

DirectX 11-第二个GPU速度较慢?,directx,adapter,gpu,Directx,Adapter,Gpu,我有两个GPU,都是相同的(nvidia 680s),禁用SLI。如果我使用enum 0适配器(GPU)创建设备和设备上下文,我的简单clear surface程序将以0.05毫秒/帧的速度运行。但是,如果我使用enum 1适配器(其他GPU)运行它,它的运行速度将超过1ms/帧 我的一个GPU怎么会比另一个慢这么多?根据主板,它们都安装在正确的PCI 3.0 16x插槽中 我错过什么了吗?我已经查看了代码1000x,实际上排除了编码中的一个错误-我只是在创建设备时使用的适配器和交换链之间进行交

我有两个GPU,都是相同的(nvidia 680s),禁用SLI。如果我使用enum 0适配器(GPU)创建设备和设备上下文,我的简单clear surface程序将以0.05毫秒/帧的速度运行。但是,如果我使用enum 1适配器(其他GPU)运行它,它的运行速度将超过1ms/帧

我的一个GPU怎么会比另一个慢这么多?根据主板,它们都安装在正确的PCI 3.0 16x插槽中


我错过什么了吗?我已经查看了代码1000x,实际上排除了编码中的一个错误-我只是在创建设备时使用的适配器和交换链之间进行交换。

您没有提供足够的信息说明代码的功能,特别是在显示方面

但我的猜测是,一个GPU控制用于输出的显示,而另一个GPU不控制。因此,在第一个GPU上立即显示渲染,但在另一个GPU上需要两个GPU之间的完整帧缓冲区副本

这必须通过PCIe。16x PCIe 3仍然是15.6GB/s,因此这意味着大约10MB的传输,这与1920x1200显示器的容量相当


你能详细说明你的分辨率和显示效果吗?这是全屏的吗?

我没有把投票当作离题,因为“创建设备……排除了编码错误……”。也就是说,在某些代码的影响下会注意到减速,而不是更适合其他地方的一般系统条件。(不过,建议使用最少的代码测试用例。)您确定这些PCI插槽是相同的吗?我在某个地方有一块主板,它只全速运行其中一个PCI插槽,即使物理插槽是相同的……我想可能是这样的——适配器0连接到屏幕上,而适配器1没有。我不知道这次转会会产生多大的罚金。嗯,这是固定成本。它是否“高”是有争议的,但实际上,如果可以的话,你想用拥有显示器的GPU绘图。顺便说一句,SLI支付相同类型的成本。这是AFR中2个GPU之间时间差异的来源之一。