【问题标题】:DirectX 11 - 2nd GPU is slower?DirectX 11 - 第二个 GPU 更慢?
【发布时间】:2012-06-07 11:55:58
【问题描述】:

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

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

我错过了什么吗?我查看了 1000x 的代码,几乎排除了编码错误 - 我只是在用于创建设备的适配器和交换链之间进行了交换。

【问题讨论】:

  • 投票偏离主题,因为“创建设备......排除了编码错误......”。也就是说,在某些 代码 的影响下会注意到减速,而不是在其他地方更适合的一般系统条件。 (不过,建议使用最小的代码测试用例。)
  • 你确定那些 PCI 插槽是一样的吗?我有一块主板,它只能全速运行其中一个 PCI 插槽,即使物理插槽是相同的......

标签: directx adapter gpu


【解决方案1】:

您没有提供足够的信息来说明代码的作用,特别是在显示方面。

但我的猜测是,一个 GPU 会控制您用于输出的显示器,而另一个则不会。因此,在第一个 GPU 上显示您的渲染是立即的,但在另一个情况下需要在 2 个 GPU 之间进行完整的帧缓冲区副本。

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

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

【讨论】:

  • 我认为可能是这种情况 - 适配器 0 连接到屏幕,而适配器 1 没有。我没有意识到转移会产生多大的罚款。
  • 嗯,这是固定成本。它是否“高”是有争议的,但实际上,如果可以的话,你想用拥有显示器的 GPU 进行绘图。顺便说一句,SLI 支付相同类型的费用。这是 AFR 中 2 个 GPU 之间时间差异的原因之一。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多