在3×3或5×5(例如)堆叠屏幕的阵列上渲染超高分辨率图像是否现实?我可以通过组合几个不同的GPU来做到这一点,还是唯一的方法是在每个屏幕上使用一个GPU并简单地划分要渲染的图像?

理想情况下,我希望能够使用更少的GPU GPU比屏幕。即使一个GPU不足,我还是希望在n个屏幕上不需要n个GPU。

如果可能的话,我还需要知道这是否需要使用相同的品牌和型号GPU或无关的GPU是否仍可以共享处理。

评论

一个好的答案是基于知道显示器将如何连接到可用的GPU(在一台计算机上获得9个以上的显示器输出并非易事)和负责渲染的软件。当然,可以组合使用多个GPU的处理能力来解决您的问题,但是魔鬼在于输出如何连接以及涉及多少台计算机的细节。

我发现有人可以做到的博客文章:rchoetzlein.com/website/multi-monitor-rendering-in-opengl @rys是正确的。为了获得可靠的答案,我们需要了解您的设置的更多详细信息。

#1 楼

是的,做这种事情当然是可能的。首先,通常可以将3个或4个显示器连接到每个GPU,并且(使用适当的主板)每台计算机最多可以有4个GPU。这将为您提供16个屏幕。使用多台计算机,您甚至可以拥有更多。

从单个GPU渲染到多台显示器没什么大不了的。您可以创建一个跨所有显示的窗口,对其进行渲染,并且该窗口应“正常工作”。

在多个GPU上渲染同一场景有些棘手。一种方法是在每个GPU上创建一个单独的渲染上下文,并实质上重复所有渲染-将所有缓冲区和纹理重新上传到每个GPU,然后将绘制调用重新提交给每个帧。另一种可能性是使用DX12中内置的多GPU支持,这使您可以在一个渲染上下文中管理多个GPU。