Skip to main content

Technik-Analyse: Uncharted 2

Naughty Dog macht alles richtig

Das ursprüngliche Uncharted hatte eine einfache, aber ziemlich häßliche Lösung, um mit Tearing umzugehen. Es verwendete einen Double-Buffer ohne V-Sync. Vereinfacht ausgedrückt: Das Spiel erzeugt einen neuen Frame, während der alte noch auf dem Screen zu sehen ist. Falls das neue Bild nicht in der Zeit fertig wird, in der es fertig werden soll, dann zeigt es das unvollständige Bild (und erzeugt dadurch einen zerrissenen Frame), löscht den Buffer und wiederholt den Prozess. Das kann häßlich aussehen, wenn die Engine stark unter Last steht, aber es stellt die schnellstmögliche Antwortzeit des Controllers sicher.

V-Sync kann in einer Double-Buffer-Umgebung verwendet werden, aber es hat einen garstigen Nebeneffekt: Wenn der fertigzustellende Frame noch nicht so weit ist, um angezeigt zu werden, dann muss man bis zur nächsten Bildwiederholung warten, bis man ihn sieht. In dieser Zeit macht die GPU eigentlich nichts. Es ist eine schwache Nutzung der Ressourcen und es verschlechtert die Frame-Rate drastisch. Metal Gear Solid 4 ist vermutlich das beste Beispiel für die Verwendung von V-Sync-Double-Buffer und deren Auswirkungen auf die Rechenleistung und Steuerungs-Latenz. Seht Euch dieses FPS-Diagramm an.

Metal Gear Solid 3 verfügt über V-Sync und verwendet Double-Buffer. Die konsistente Darstellung der Bilder bekommt Vorrang vor Frame-Rate und Steuerung. Uncharted 2 löst dieses Problem effektiver.

Uncharted 2 ist da sehr viel ehrgeiziger. Es zielt darauf ab, die GPU ständig arbeiten zu lassen und gleichzeitig V-Sync beizubehalten. Anstatt zwischen zwei Frames hin- und herzuschalten, werden effektiv drei Frames gepuffert und einer dabei als Reserve vorgehalten. Ein zerrissener Frame wird nicht dargestellt, sondern im Zweifelsfall der Reserve-Frame.

Das Ergebnis ist, dass wir die visuelle Performance bekommen, die wir schon immer von Uncharted wollten... Spektakuläre Grafik - und das ohne einen einzigen zerrissenen Frame im gesamten Spiel. Dabei ist es gar nicht so schwer zu programmieren; der Trick besteht darin, es umzusetzen, ohne dass es zulasten der Performance geht. Wie ihr anhand der FPS-Angaben in allen Uncharted 2-Videos dieses Artikels sehen könnt, hat es Naughty Dog geschafft. Vergleicht das mit Resident Evil 5 auf der PS3, das exakt die gleiche Triple-Buffer-Technik verwendet, aber Schwächen in der Performance zeigt und zusätzlich erhöhte Steuerungs-Latenz.

Daher: Bravo, Naughty Dog, das ihr das hinbekommen habt. Aber um dieses Thema nun abzuschließen: Auf einer geschlossenen Plattform wie der PS3, ist der Preis für ein solches Maß an fortschrittlicher Berechnung, dass die Controller etwas träger reagieren. Im Sinne der visuellen Konsistenz, ist das aber ein Preis, den es sich lohnt zu bezahlen.

Um die Coding-Zauberei, die Naughty Dog hier veranstaltet, etwas grob darzustellen, solltet ihr euch das folgende "Was wäre wenn?"-Video ansehen. Es ist eine Montage von Action-Szenen aus dem ursprünglichen Uncharted - aber etwas anders. Mit unserer eigenen Coding-Zauberei, haben wir alle zerrissenen Frames aus dem Videosignal entfernt. Wir simulieren effektiv Uncharted 2s Render-Technik mit Uncharted 1, um den Unterschied zu illustrieren.

Die höhere Steuerungs-Latenz im Nachfolger lässt sich verschmerzen.

Spiel, Satz und Sieg also für Naughty Dog und Uncharted 2. Aber natürlich geht die eigentliche Zauberei über die technischen Errungenschaften hinaus. Es gibt noch so viel mehr zu entdecken. Bis jetzt wurde noch nicht viel vom Singleplayer gezeigt, aber was wir bisher sehen konnten, war überaus beeindruckend. Mehr noch, Naughty Dog ist stolz darauf, mit dem Anspruch einer Hollywood-Produktion an das Spiel herangegangen zu sein: Uncharted konnte mit seiner großartigen Geschichte punkten, mit den wundervollen Charaktere und der Tatsache, dass in es jeder Ecke etwas Spektakuläres zu entdecken gab. Alle Indizien weisen darauf hin, dass diese Philosophie auch auf den Nachfolger angewandt wurde - nur auf ein neues Niveau gehoben.

Um diese Hollywood-Analogie abzuschließen: Star Wars wäre nicht Star Wars, wenn George Lucas mit ILM nicht die technologischen Ressourcen seines eigenen Special Effect-Geschäfts hätte nutzen können. So ähnlich ist das auch bei Naughty Dogs Entwicklungsteam und seiner eigenen Technologie-Abteilung WWS: Kreative Spieledesigner arbeiten mit Technologie-Experten. Beide mit dem Anspruch, das allerbeste Entertainment-Produkt zu schaffen. Jenseits allem, was ich in diesem Artikel angesprochen habe, ist es diese Kombination, die mich am meisten bei diesem Spiel fasziniert. Und sogar vor der ersten Enthüllung auf der GDC im April, war es Naughty Dogs Philosophie, die mich überzeugt hat, dass Uncharted 2 mein persönliches Spiel des Jahres werden könnte. In nur ein paar Wochen, werde ich herausfinden, ob ich damit recht hatte...

Schon gelesen?