2/5 Ray Tracing in Spielen V : Neues aus der Strahlenwelt

, 86 Kommentare

Optimierung des Server-Setups

Die Kosten einer Cloud-basierten Lösung, die der im Jahr 2010 verfolgte Ansatz verursacht hätte, waren enorm. Um diese zu verringern, kamen wir auf die Idee, nicht mehr vier einzelne Maschinen mit jeweils einer Intel-Karte auf Basis der „Many Integrated Core“-Architektur (MIC), Codename „Knights Ferry“ (KNF), sondern eine einzelne Maschine, die gleich vier Karten beinhaltet, einzusetzen.

Dies bedeutete einige Änderungen am Programmcode, um jeweils die korrekte Karte anzusprechen. Insgesamt war der Vorgang jedoch ziemlich unkompliziert. Damit war dann auch die erste „Multi-KNF-Demo“ von Intel geboren. Wir zeigten dieses neue Setup auf der CeBIT im März 2011.

Vier „Knights Ferry“-Karten in einer Maschine
Vier „Knights Ferry“-Karten in einer Maschine

Aber warum sollte man bei vier Karten schon aufhören? Der Hardware-Hersteller Colfax hat uns mit einer Maschine versorgt, in die man acht PCI-Express-Karten doppelter Bauhöhe stecken kann. Dieses erweiterte Setup haben wir dann auf dem Intel Developer Forum (IDF) im September 2011 vorgeführt. Wir werden später noch einen ausführlicheren Blick auf die Verwendung der zusätzlichen Rechenkapazität werfen.

Colfax-System mit acht „Knights Ferry“-Karten
Colfax-System mit acht „Knights Ferry“-Karten
Colfax-System mit acht „Knights Ferry“-Karten
Colfax-System mit acht „Knights Ferry“-Karten

Skalierung

Geht man über zu einem Multi-Karten-System, so ist es sehr interessant zu wissen, wie groß der Skalierungsfaktor im Vergleich zu der einzelnen Karte ist. Wir haben dies im Hof des Wolfenstein-Levels „mp_bank“ in einer performanceintensiven Ansicht mit allen Features (z.B. Anti-Aliasing) gemessen.

Skalierung in Wolfenstein „Ray Traced“
Skalierung in Wolfenstein „Ray Traced“

Verglichen mit der Performance einer einzelnen Karten haben wir eine Beschleunigung um den Faktor 7,7 gemessen. Dies entspricht 96,6 Prozent von der idealen, linearen Skalierung.

Auf zum Tablet!

Obwohl ein Laptop für Cloud-basierte Spiele eine interessante Plattform darstellt, wollten wir noch weiter gehen und unsere Demo auch auf Tablets, auf denen eine solche Grafikpracht noch unwahrscheinlicher erscheint, ermöglichen. Als Zielplattformen nahmen wir die folgenden mit Intels Atom-CPU (x86) betriebenen Geräte:

  • Viliv S5 Entertainment Mobile Internet Device (MID)
  • Lenovos IdeaPad S10-3t
  • EXOPC Slate

Da wir weiterhin die komplexe Steuerung für den 3D-Shooter beibehalten wollten, haben wir das schnurlose Rii Mini Keyboard benutzt, durch das wir eine volle QWERTY-Tastatur und ein Touchpad für die Maussteuerung zur Verfügung hatten.

Die größten Software-Änderungen gegenüber der Notebook-Lösung bezogen sich darauf, wie das Tablet das „geraytracte“ Bild nach dem Empfang aus der Cloud auf dem Bildschirm darstellt. Zuvor hatten wir dazu OpenGL involviert. Bei den obigen Geräten hat es sich jedoch als wesentlich effizienter herausgestellt, DirectDraw / DirectX zu nutzen.

Für zwei der Tablets mit der Bildschirmauflösung von 1.024 × 600 Pixeln genügte eine einzige Knights Ferry Karte um Frameraten von 20-30 Bildern pro Sekunde zu erzeugen. Für den EXOPC mit der höheren Auflösung von 1.366 × 768 Bildpunkten haben wir zwei Karten benutzt.

Auf der nächsten Seite: Post-Processing Special Effects