Cryteks Ryse-Lösung
Während Spiele wie Titanfall den Fokus eher auf die Frames per Second legen, hatte sich Crytek bei Ryse vorgenommen, Bild- und Grafikqualität ans Limit zu treiben. Das römische Schlachtenepos gilt als einer der schönsten Next-Gen-Titel, dazu mussten die Entwickler aber aus der Not eine Tugend machen.
Crytek hatte in Budapest mehrere Jahre am Kinect-Spiel Ryse für die Xbox 360 gearbeitet, den Titel im Zuge der Neuentwicklung für die Xbox One aber zurück ins Hauptstudio nach Frankfurt geholt. Die Display Scanout Engine der Konsole war zu diesem Zeitpunkt noch nicht per API ansprechbar, weswegen sich Crytek für eine GPU-Lösung entschied.
"Wir haben am Anfang Tests durchgeführt und das Spiel in 720p, 900p sowie 1080p gerendert. Die Screenshots mit der niedrigeren Auflösung skalierten wir dann für Vergleiche hoch", sagt Nicolas Schulz, Senior Rendering Engineer bei Crytek. "Interessanterweise gab es zwischen 900p und 1080p manchmal kaum einen Unterschied, wenngleich man es an bestimmten Stellen schon sah." Daher legte das Studio die Render-Auflösung auf 1.600 x 900 statt auf 1.920 x 1.080 Pixel fest, um die so freiwerdenden zusätzlichen 10 Millisekunden für eine höhere Bild- und Grafikqualität zu nutzen.
"Das ist letztendlich viel wertvoller als die leichte zusätzliche Schärfe", sagt Nicolas Schulz. Die aus Leistungsgründen vor dem Upscaling applizierte SMAA-1Tx-Kantenglättung sorgt für eine hohe Bildruhe, hierfür benötigt die Xbox One wie für die Tiefenunschärfe und die Umgebungslichtverdeckung rund 1,5 Millisekunden. Die Schattenberechnung verschlingt gar 5 Millisekunden, daher peilte Crytek während der Entwicklung 30 fps (33,3 Millisekunden pro Frame) an. In der Praxis liegt de Bildrate jedoch oft tiefer.
Das HUD erstellt die Konsole anders als bei Assassin's Creed 4 nativ in 1.920 x 1.080 Pixeln, die Nutzeroberfläche wird für den finalen Framebuffer über das von 900p auf 1080p hochskalierte Bild gelegt. Somit wird das HUD nicht unscharf. Insgesamt benötigt Cryteks GPU-Scaler nur eine Zeit von 0,3 Millisekunden pro Frame und belastet daher die GPU nur wenig.
"Wir machen einen bilinearen Texture-Lookup auf unserem Szenen Render Target, aber modifizieren die Texturkoordinaten mit einer Smoothstep-Funktion", erklärt der Crytek-Entwickler. Diese ergibt eine Mischung aus Nearest-Neighbor- und linearer Filterung, die dem Bild eine leichte Schärfe verleiht. Schulz betont, dass es beim Upscaling wichtig ist, Gammaeinstellungen und RGB-Farbraum zu berücksichtigen, damit es nicht zu Farbverschiebungen kommt.
Generell hat Crytek darauf geachtet, die Inhalte von Ryse vorab darauf zu optimieren, möglichst wenig Aliasing zu produzieren. So verzichteten die Grafiker, wann immer möglich, auf sehr kleine Dreiecke in weiter entfernten LoD-Stufen (das Level of Detail bestimmt, ab welcher Distanz welche Detailstufe dargestellt wird). Statt also die entfernte Geometrie mit Polygonen aufzubauen, hat das Studio viele vorgefilterte Normal Maps verwendet.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
Schnelle DCE für Titanen | Einschätzung und Fazit |
Du meinst 5 Mio Konsolen Vorsprung der PS4 ist *knapp* XD
Ersetze Sony durch Nintendo und Dein Satz ist korrekt. Nintendo wird noch 2-3 Jahre vor...
Was HerrManelig hier schreibt stimmt schon. Jetzt einen einzigen Game-Titel als...
Die meinen mit "Next-Gen" nicht "Die nächste Generation des Spielerlebnisses auf einer...