Ist es realistisch, ein Bild mit super hoher Auflösung über ein Array von 3 x 3 oder 5 x 5 (zum Beispiel) gestapelten Bildschirmen zu rendern? Könnte ich dies tun, indem ich mehrere verschiedene GPUs kombiniere, oder wäre die einzige Möglichkeit, eine GPU pro Bildschirm zu verwenden und das zu rendernde Bild einfach zu teilen?
Idealerweise möchte ich weniger GPUs als Bildschirme verwenden können. Obwohl eine GPU nicht ausreicht, hoffe ich, dass ich keine n GPUs für n Bildschirme benötige.
Wenn dies möglich ist, muss ich auch wissen, ob dies die Verwendung des gleichen GPU-Herstellers und -Modells erfordert oder ob nicht verwandte noch die Verarbeitung gemeinsam nutzen können.
Antworten:
Ja, so etwas ist sicherlich möglich. Zunächst können Sie normalerweise 3 oder 4 Displays an jede GPU anschließen und (mit einem geeigneten Motherboard) bis zu 4 GPUs pro Computer verwenden. Das würde Ihnen 16 Bildschirme geben. Mit mehreren Maschinen könnten Sie noch mehr haben.
Das Rendern auf mehreren Displays von einer einzigen GPU aus ist keine große Sache. Sie können ein einzelnes Fenster erstellen, das sich über alle Anzeigen erstreckt, darauf rendern und "einfach funktionieren" soll.
Das Rendern derselben Szene auf mehreren GPUs ist etwas schwieriger. Eine Möglichkeit besteht darin, auf jeder GPU einen separaten Rendering-Kontext zu erstellen und im Wesentlichen das gesamte Rendering zu wiederholen. Laden Sie alle Puffer und Texturen erneut auf jede GPU hoch und senden Sie die Draw-Aufrufe erneut an jeden Frame. Eine andere Möglichkeit besteht darin, die in DX12 integrierte Unterstützung für mehrere GPUs zu verwenden , mit der Sie mehrere GPUs in einem Renderkontext verwalten können.
quelle