Raytracing in Spielen IV : Ray-Tracing in der Cloud

, 91 Kommentare
Raytracing in Spielen IV: Ray-Tracing in der Cloud

Mit „Ray-Tracing „4.0“ – Ray-Tracing in der Cloud“ setzt Daniel Pohl seine Gastautoren-Artikelserie auf ComputerBase fort. Anfang 2007 veröffentlichte er als frischer Uniabsolvent mit „Raytracing in Spielen“ den ersten Artikel über seine Forschungsarbeiten auf dem Gebiet Ray-Tracing auf ComputerBase, der auf viel Interesse stieß. Daraufhin folgten „Raytracing in Spielen 2.0“ Anfang 2008, mittlerweile als Angestellter beim Chip-Hersteller Intel, und „Quake Wars“ mit Raytracing Anfang 2009.

Wir weisen an dieser Stelle darauf hin, dass der nachfolgende Artikel ohne Mitarbeit der ComputerBase-Redaktion entstanden ist und allein die Meinung des Autors bzw. seines Arbeitgebers widerspiegelt. Dennoch freuen wir uns, unseren Lesern erneut die letzten Entwicklungen auf dem Sektor „Raytracing in Spielen“ sowie einen weiteren Beitrag im Rahmen der im Jahr 2007 gestarteten, öffentlichen Diskussion „Raytracing vs. Rasterisierung“ näher bringen zu können – weitere Beiträge und Meinung jederzeit willkommen!

Einleitung

Eine entscheidende Veränderung in der Computerwelt ist das Aufkommen der „Cloud“ – dem Internet und seiner ungeheuren dezentralen Rechen- und Datenkapazität. Auch wenn das Wort in den Medien überstrapaziert wird, ergeben sich durch das Konzept interessante Vorteile sowohl für Firmen als auch die End-User.

Mit OnLive und Gaikai stehen bereits die ersten „Cloud-Gaming-Dienste“ bereit: Sie erlauben dem Nutzer Spiele auf ihren eigenen Servern im Internet zu betreiben. Auf den Servern werden die Benutzereingaben, die vom Game-Client kommen, verarbeitet und ein komprimiertes, gerendertes Bild des Spiels wird zurück an den Benutzer geschickt. Eine Berechnung der Grafik auf dem Rechner des Spielers findet nicht statt.

Es gibt viele Vorteile von Rendering in der Cloud. So muss der Spieler beispielsweise nicht auf die Installation des Spieles warten oder sich um das Aktualisieren durch Patches kümmern. Der benötigte Festplattenspeicher ist beim Spieler wesentlich geringer und da das Spiel vom Client nicht kopiert werden kann, gibt es keine Notwendigkeit einer Echtheitsüberprüfung durch das Einlegen einer DVD. Für Entwickler eröffnet sich ein einfacher Weg eine Demo-Version eines Spieles zu veröffentlichen, indem man einen zeitbeschränkten Zugriff auf die Vollversion bietet und damit den Spielern einen ersten Eindruck ermöglicht.

Ein weiter Vorteil ist, dass der Game-Client (der Browser?) relativ einfach auf verschiedenen Betriebssystemen laufen könnte und dadurch die mühselige Arbeit der Portierung eines Spieles für mehrere Plattformen entfällt. Verschiedene Geräte wie Netbooks, Tablets und Smartphones könnten High-End-Spiele mit den besten Grafikeinstellungen darstellen, da die intensiven Berechnungen alle auf dem Server ablaufen. Um ausreichend Leistung zu erreichen, sind aktuelle Spiele derzeit meist durch den Einsatz des Hardware-Rasterisierers limitiert, der auf allen herkömmlichen Grafikkarten zu finden ist. Während dieser Ansatz Vorteile hat, so beschränkt er auch den Freiheitsgrad der Spieleentwickler. Mit anderen Rendering-Algorithmen wie Point-Rendering, Voxel-Rendering oder Ray-Tracing könnte man Spiele ermöglichen, die ein realistischeres Aussehen bieten.

Ray-Tracing ist eine Rendering-Technologie, die die Gesetze der Physik benutzt, um photorealistischere Grafik durch das Berechnen von Effekten wie Spiegelungen, Brechungen und Schatten zu ermöglichen. Allerdings ist der Einsatz dieser Technik bei interaktiven Anwendungen wie Spielen durch den hohe Berechnungsaufwand beschränkt. Durch das Cloud-basierte Modell für Computerspiele ergibt sich eine Möglichkeit einem größeren Publikum indirekt Zugang zu der High-End-Hardware zu geben, die benötigt wird, um Ray-Tracing in Echtzeit zu nutzen.

In den letzten Jahren hat Intel stetige Fortschritte gezeigt bei der Entwicklung von Echtzeit-Ray-Tracing-Engines, die auf Intels Multi-Core-Systemen laufen. In 2008 zeigten wir Quake Wars: Ray Traced mit 15–20 Bildern pro Sekunde (frames per second, kurz: fps) auf einem Server-System mit dem Codenamen Caneland mit vier Tigerton-Quad-Core-CPUs. Nach einigen Monaten weiterer Optimierungen zeigten wir die Demo auf derselben 4-Socket-Maschine, allerdings mit den neuen Sechs-Core-Dunnington-CPUs mit 20–35 fps. Das Jahr darauf ermöglichte die Nehalem-Architektur einem Workstation-System mit nur zwei Sockets die gleiche Framerate zu erreichen wie zuvor mit vier Tigerton-CPUs. Es ist klar, dass es fortlaufende Performancesteigerungen mit der höheren Anzahl an Kernen und neuen Architekturen wie Sandy Bridge geben wird.

Eine besonders interessante Plattform für den Ray-Tracing-Algorithmus ist Intels demnächst erscheinende Many-Integrated-Core-(MIC)-Architektur, die im Mai 2010 angekündigt wurde. Nachdem Ray-Tracing ein hochparalleler Algorithmus ist, sollte MIC große Performancessteigerungen durch die höhere Anzahl an Cores ermöglichen, die für Anwendungen im Bereich des High-Performance-Computing (HPC) und für Data Centers vorgesehen sind.

Das bringt uns zu dem Thema dieses Artikels: die Kombination der MIC-Architektur mit einem Cloud-basierten Ansatz für Spiele, um bessere und realistischere Bilder mit Echtzeit-Ray-Tracing zu erzeugen.

Auf der nächsten Seite: Übersicht Ray Tracing