Online-Abo
  • Login
  • Registrieren
Games World
  • Xbox One SDK verrät: Wo kommen Ruckler her und wie sind die Ressourcen verteilt?

    Xbox One SDK verrät: Wo kommen Ruckler her und wie sind die Ressourcen verteilt? Quelle: Microsoft

    Der Leak des SDK für die Xbox One ist nicht schön, aber für technikbegeisterte Menschen ein wahrer Segen. Er gibt intime Einblicke hinter die Kulissen der Entwicklung und verrät unter anderem, wo so mancher Ruckler herkommt, wie die Ressourcen genutzt werden und wie die Entwicklung läuft.

    Leaks sind in der Regel nicht sehr gerne gesehen, aber sie haben auch etwas durchaus Spannendes, denn sie erlauben den sonst nur selten gestatteten Blick hinter die Kulissen. So ist es auch beim SDK zur Xbox One, das durch die Gruppe H4LT an die Öffentlichkeit gelangte und nun interessante Einblicke gewährt. Zunächst konzentrierte sich die Berichterstattung auf den siebten CPU-Kern, dessen Nutzung von Entwicklern durch das SDK enthüllt wurde, und mit dem die CPU-Leistung der Xbox One deutlich über der der Playstation 4 liegt. Es gibt aber auch vieles anderes Spannendes zu entdecken.

    Xbox One SDK: Hardware-Überblick

    Über das SDK lässt sich zum Beispiel dem Problem auf die Spur kommen, warum die Xbox One zu sogenannten Framedrops neigt, wenn die Einblendung für die Errungenschaften ausgelöst wird. Weitestgehend bekannt sind die technischen Eckdaten der Xbox One, deren Jaguar-CPU-Kerne mit 1,75 GHz laufen und die für 112 Gflops gut sind, von denen Entwickler rund 95 Gflops nutzen können. Auf dem Die ist auch die 853 MHz schnelle GCN-GPU mit 12 Kernen sowie der 32 Mibyte große ESRAM, der 200 GB/s Bandbreite liefert. Microsoft geht in der Praxis von 102 GB/s Dauerleistung aus, die unter Lastspitzen 20 bis 30 Prozent nach oben geht. Alles ist an 8 GiByte DDR3-2133 angebunden, der 68 GB/s Bandbreite liefert.

    Xbox One: Software-Überblick

    Das SDK gibt natürlich auch Aufschluss über die Software. Microsoft setzt mehrere Betriebssysteme auf der Xbox One ein, in der Summe drei. Das Host OS steht ganz unten und ist ein sehr schlankes Betriebssystem, das die beiden Hauptbetriebssysteme kontrolliert und organisiert. Die beiden heißen bei Microsoft ERA (Exclusive Resource Allocation) und SRA (Shared Resource Allocation). ERA braucht die meisten Ressourcen und ist für das Spielen zuständig. SRA, das auf einem Windows-8-Kern basiert, kümmert sich um alle Services auf der Xbox One, darunter Freundeslisten, Updates und weitere nicht zum Spiel gehörende Anwendungen.

    Das ERA kann mehrere Zustände annehmen. Zum einen "Fullscreen", also dem normalen betrieb bei voller Ressourcen-Nutzung. Auch dann, wenn Anwendungen vom SRA eingeblendet sind. Zum anderen "constrained", wobei der Ressourcenverbrauch auf CPU und GPU leicht gesenkt wird. Außerdem gibt es noch "Suspect". Das Spiel steht dann quasi im Hintergrund und braucht keine APU-Ressourcen. In allen Fällen bleibt das Spiel aber vollständig im Speicher geladen. Die Framedrops bei der Einblendung von Achivements entstehen durch Cross-OS-Interaktionen, vor denen Microsoft in der eigenen Dokumentation warnt. Sie werden von SRA ausgegeben und nicht von ERA, aber ERA muss SRA melden, dass es etwas tun muss. Diese Interaktionen können leichte Einbrüche verursachen. Microsoft spricht von bis zu einigen Millisekunden Verzögerung, weshalb davon abzusehen ist, solche Cross-OS-Interaktionen häufig zu setzen und vor allem ist angeraten, sie gezielt auszuführen.

    Xbox One: Treiber in der Übersicht

    Aus dem SDK geht auch hervor, dass Microsoft bereits mehrere Grafikkartentreiber für die Xbox One entwickelt hat. In der Testphase kamen zum einen der "Generic DirectX 11 Manufacturer Supplied Driver" sowie der "Specific Graphics Driver developed by Microsoft" zum Einsatz. Heute kennt man den "Durango User-Mode Driver (UMD)", der wichtige Dinge wie Tesselation aber auch Entwicklertools wie "PIX (Performance Investigator for Xbox)" unterstützt. Seine Entwicklung wurde priorisiert, auch wegen der vielen Beschwerden der Entwickler über das etwas anstrengende SDK. Der Treiber ist denen eines PCs sehr verwandt, daher auch die Bezeichnung Regular Direct3D. Es gibt aber noch den Monolithic Direct3D, der viel spezieller auf die Hardware zugeschnitten ist und besseren direktzugriff auf die Hardware hat. Vergleichbar etwa mit Mantle oder dem angekündigten DirectX 12. Durch den fehlenden Abstraktions-Layer in diesem Treiber kann die Performance erhöht werden; ein Vorteil, den Konsolen früher stets genossen und dadurch aus weniger Hardwareleistung mehr herausholen konnten. Das ging so weit, dass der "stock 3D driver" im Mai 2014 aus dem SDK geflogen ist. Zusammen mit weiteren Änderungen, etwa dem "Asynchronous Compute" konnte aus der gegebenen Hardware mehr Leistung gezogen werden.

    Xbox One: Kinect und die Performance

    Dazu gehörte auch das "Ende" von Kinect, also quasi dem Zwang. Spiele, die Kinect verwenden, hatten nur auf 91,5 Prozent der ohnehin knappen GPU-Power zu Verfügung. Zudem senkt Kinect die Speicherbandbreite leicht und braucht auch etwas CPU-Leistung. Beides kann vernachlässigt werden, aber bei der GPU zählt jedes Prozent. So war Kinect quasi schon von Geburt an tot, denn wenn ein Entwickler nahezu 100 Prozent GPU-Power nutzen möchte, dann baut er eben keinen Kinect-Support ein. Das Ergebnis dürfte auf der Hand liegen. Für viele sind 1,31 Tflops GPU-Power wichtiger als Kinect-Features.

    Da reichte es auch nicht, die Kinect einfach abzuziehen. Da reichte es auch nicht, die Kinect einfach abzuziehen. Das Spiel muss der Xbox One explizit sagen, ob es Kinect verwendet oder nicht und entsprechend wird die Leistung freigegeben oder nicht. Das wiederum auch nur im Spielmodus. Sobald eine OS-Funktion eingeblendet wird, wird die Performance für Kinect wieder reserviert. Folge: Wiederholrateneinbruch (in dem Fall ohne große Folgen). Es fallen also Gestensteuerung und Co. weg, aber die die grafikintensiven Triple-A-Spiele war ohnehin schnell klar, dass sie nur wenig bis keinen Gebrauch von Kinect machen. Microsoft hatte sich hier wohl bei der Strategie etwas verzockt. Kinect ist ohne Frage ein cooles Feature, aber eben eher im Casual-Bereich spannend.

    All das ändert aber nichts daran, dass SRA stets drei bis vier Prozent Systemleistung für die Darstellung der Benutzeroberfläche reserviert. Die wird Beispielsweise für die Einblendung Freundeseinladungen verwendet. Unterm Strich hat ein Spiel also 96 Prozent GPU-Leistung permanent zur Verfügung (bei deaktiviertem Kinect). Dadurch gingen schnell 50 Gflops verloren.

    Microsoft empfiehlt bei Performance-Problemen das senken der internen Auflösung auf 1.440 x 810 Pixel, was fast die Hälfte der Pixel spart (2.073.600 zu 1.166.400). Danach wird das Bild wieder auf natives FullHD hochgerechnet. Alternativ ließe sich auch bei den Effekten und der Qualität sparen. Das passiert ohnehin immer dann, wenn das Spiel nicht mehr im Vollbild läuft, nur hat es dann in der Regel keinen Einfluss auf das Spielerlebnis.

    Xbox One SDK: Verwendung von CPU und Speicher

    Das SDK gibt auch Auskunft über die Verwendung der von Speicher und CPU-Leistung. Läuft ein Spiel im Vollbildmodus mit maximalem Zugriff auf die Hardware-Ressourcen, dann stehen im sechs CPU-Kerne zur Verfügung, 91,5 Prozent GPU-Leistung (mit Kinect) und 5 Gigabyte insgesamt. Im Extended-Modus sind es sechs CPU-Kerne plus 50 bis 60 Prozent des siebten Kernes, knapp 100 Prozent GPU-Leistung und ebenfalls 5 GiByte Speicher. Im oben schon erklärten "Constrained"-Modus sind es 4 Kerne, 45 Prozent CPU-Leistung und ebenfalls 5 GiByte RAM. Daraus folgt, dass das Betriebssystem nicht gerade schlanke 3 GiByte RAM für sich beansprucht. Außerdem: Es gibt keine Auslagerungsdatei. Die Entwickler müssen also recht sorgsam mit den 5 GiByte für Spiel und Grafik umgehen.

    Die Angelegenheit mit dem siebten CPU-Kern kann ebenfalls für Wiederholrateneinbrüche sorgen. Dort stehen zwischen 50 und 80 Prozent zur verfügen, je nachdem was das Betriebssystem gerade beansprucht. Meistens dürften es beim Zocken 80 Prozent sein, aber es kann eben auch ein priorisierter OS-Auftrag auflaufen, der kurze Stotterer verursachen kann, wenn das Spiel den Kern intensiv nutzt. Microsoft arbeitet an diesem Problem und will in künftigen SDKs bessere Lösungen bieten, um Einbrüche abzufangen. Erster Ansatzpunkt ist, den Spielen den Status der des Kerns mitzuteilen, sodass bekannt ist, wie viel Leistung bereits verwendet wird. Entwickler, die auf Nummer sicher gehen, nutzen also derzeit maximal 50 Prozent des Kerns und verschenken Leistung. Wer forscher zu Werke geht, riskiert Ruckler.

    Auf der anderen Seite muss aber auch gesagt sein, dass die Sprachsteuerung der Xbox One, die über den siebten Kern läuft, unter Umständen leiden wird. In Ryse Son of Rome hätte das durchaus Auswirkungen auf das Gameplay. Hier gilt es also, Kompromisse zu finden. Verzichtet man komplett auf die Sprachsteuerung, wird auch Bandbreite zum Speicher frei, man spricht hier von rund 1 GB/s. Nicht viel bei 68 GB/s, aber in der Konsolenentwicklung zählt jedes Zehntel. Gerade bei der Xbox One, die durch den DDR3-2133-Speicher deutlich weniger Bandbreite bietet als die Playstation 4 mit GDDR5. In der Theorie sind es 68 GB/s, in der Praxis eher 80-85 Prozent davon, also 55-57,8 GB/s. Da GPU und CPU diese Bandbreite teilen, gibt es auch noch Neid. Laut SDK-Update konnte man im August 2014 1,5 Prozent mehr Bandbreite für die GPU finden.

    Auch die Jaguar-Architektur von AMD hat ihre Tücken, die Probleme bestehen aber ebenso bei der PS4. Die 8 Kerne sind verpackt in zwei Module zu 4 Kernen. Jedes Modul hat seinen eigenen L2-Cache, den sich alle Kerne teilen müssen. Anfragen an den Cache im eigenen Modul sind logischerweise schneller als Anfragen im Cache des Nachbarmoduls. Außerdem nutzt jedes Modul seinen eigenen Bis zum Speicher. Greifen also Kern 0 und 1 auf den Speicher zu, teilen sie sich die Bandbreite. Fragen Kern 0 und 6, gibt es keinen Neid. Wir sprechen hier von Millisekunden an Zugriffzeiten, aber in der Welt der Computer sind es Welten und Entwickler müssen daher sehr genau auf das Thread-Scheduling achten, also das Verteilen der Aufgaben auf die Kerne – auch in Anbetracht der Bandbreite zum Speicher. Außerdem empfiehlt Microsoft, dass die oben schon erklärten Cross-OS-Anfragen am besten von Kern 4 oder 5 gehen, also aus dem zweiten Modul ins zweite Modul, wo das OS auf 6 und 7 läuft (Kerne zählen ab 0).

    Microsoft betont, dass die Optimierung an der Speicherbandbreite eine der wichtigsten Punkte bei der künftigen Entwicklung ist. Im SDK ist auch erwähnt, dass Microsoft den Cache im Vergleich zur Xbox 360 verdoppelt hat. Das stimmt theoretisch, ist aber praktisch falsch, denn es sind nun 2,6 mehr Kerne verbaut. Effektiv hat also jeder Kern weniger Cache. Außerdem hat die Xbox One gegenüber der Xbox 360 den Nachteil, dass man sich die Bandbreite zum Speicher teilt. Auf der "360" mussten sich Entwickler hier weniger Gedanken machen. Das Problem hat auch die PS4, aber deren Speicherbandbreite ist deutlich höher. Microsoft betont, dass die Optimierung eine der wichtigsten Punkte bei der künftigen Entwicklung ist.

    Hierzu ist zum Schluss noch erwähnenswert, dass die Xbox One wie die Playstation 4 zwei Bussysteme von der AMD-CPU ausgehend hat: Der erste Bus namens Garlic ist auf geringe Latzen ausgelegt und über vier Kanäle direkt an die vier Speichercontroller angeschlossen. Er liefert Spitzenbandbreiten von bis zu 68 GBit/s (auf der PS4 176 GBit/s). Der zweite Bus namens Onion hat zwei Kanäle und ist inkohärent. Er kann in der Spitze 24 GB/s lesen und 16 GB/s schreiben. Diese Limitierung wird durch die Northbridge hervorgerufen, die maximal 30 GB/s kohärent durchleiten kann. Für Microsoft mag der Leak ein Desaster sein, für Technikbegeisterte ist er großartig. Der Leak macht die Xbox One fast schon ein wenig sympathisch, weil man nun viel besser verstehen kann, warum die Dinge sind wie sie sind.

    Werbefrei auf PCGH.de und im Forum surfen - jetzt informieren.
    05:25
    Xbox One 2015: Die wichtigsten Releases 2015 - Video-Special
  • Xbox One
    Xbox One
    Hersteller
    Microsoft
    Release
    22.11.2013

    Stellenmarkt

    Es gibt 18 Kommentare zum Artikel
    Von AnthraX
    lol, wie man so ungeniert nach außen kommuniziert, dass man sich erstmal von jedem Game das einen interessieren könnte…
    Von AntiWantze
    Ist komisch das ich seid min. 15 jahren kein Spiel mehr gakuft habe das mich enttäuscht hat...Vielleicht liegt das…
    Von mmayr
    Illegale Kopien sind schei...e! Ohne Zweifel. Leider zahlt man als Käufer von Software viel zu oft drauf, weil…
    Von Rizzard
    Der Anbieter gibt dir aber keine Testversion.Somit hat man kein Recht sich seine eigene Testversion zu besorgen.Wie…
    Von bingo88
    Da so gut wie alle Spiele einen Kopierschutz haben, der ja zum "Testen" umgangen werden muss, ist das leider illegal
      • Von AnthraX Software-Overclocker(in)
        Zitat von Cett
        Natürlich teste ich erst was ich nutze besonders im Bereich Software sind mir zu viele schwarze Schafe unterwegs wo man auch Bewertungen nicht trauen kann. Wer da gleich kauft und sich hinterher beschwert ist selber Schuld meiner Ansicht nacht. Vorallem da es auch kein Rückgaberecht gibt. Was für gut befunden wird, wird gekauft und wenn es nicht so ist, fliegt es wieder runter.
        lol, wie man so ungeniert nach außen kommuniziert, dass man sich erstmal von jedem Game das einen interessieren könnte eine illegale Raubkopie klar macht

        Lets Plays, Tests usw. Es gibt GENÜGEND Quellen, wo man sich auch legal mehr als ausreichend informieren kann. Sorry wenn ich das so sage, aber so eine Einstellung finde ich unmöglich. Ist ja auch nicht umsonst illegal....
      • Von AntiWantze Software-Overclocker(in)
        Ist komisch das ich seid min. 15 jahren kein Spiel mehr gakuft habe das mich enttäuscht hat...Vielleicht liegt das einfach daran das ich nichts vorbestelle, und estmal Tests von Usern und Fachblättern abwarte, ich mir Videos von dem Gameplay anschaue usw. Dadurch weiß ich ganz genau was mich erwartet und kaufe nur etwas was mich wirklich überzeugt und nicht jeden Mist.
        Klar wären Demos besser, aber es gibt verdammt nochmal soviele möglichkeiten sich ein Bild von einem Spiel zu machen.
      • Von mmayr BIOS-Overclocker(in)
        Zitat von Rizzard
        Der Anbieter gibt dir aber keine Testversion.
        Somit hat man kein Recht sich seine eigene Testversion zu besorgen.

        Wie läuft das eigentlich ab, wenn die Software so mittelmäßig ist.
        Wird dann sofort deinstalliert und bestellt, oder spielt man ein mittelmäßiges Spiel dann doch eher für lau durch da sich der Kauf eigentlich nicht so wirklich lohnt?
        Illegale Kopien sind schei...e! Ohne Zweifel. Leider zahlt man als Käufer von Software viel zu oft drauf, weil schlechte Spiele um 60€, die man zuerst mit seinem Account verknüpfen muss, nicht mehr zurückgegeben werden können. So werden wir eigentlich von den Publishern abgezockt.

        Die beste Lösung für alle:
        Gebt uns Demos zum Testen der Spiele. Aber das werden sich EA, Ubisoft und CO ohnehin nicht mehr trauen. Denn niemand würde deren Produkte zum Vollpreis mehr kaufen!
      • Von Rizzard PCGH-Community-Veteran(in)
        Zitat von Cett
        Natürlich teste ich erst was ich nutze ...
        Der Anbieter gibt dir aber keine Testversion.
        Somit hat man kein Recht sich seine eigene Testversion zu besorgen.

        Wie läuft das eigentlich ab, wenn die Software so mittelmäßig ist.
        Wird dann sofort deinstalliert und bestellt, oder spielt man ein mittelmäßiges Spiel dann doch eher für lau durch da sich der Kauf eigentlich nicht so wirklich lohnt?
      • Von bingo88 BIOS-Overclocker(in)
        Zitat von Cett
        Natürlich teste ich erst was ich nutze besonders im Bereich Software sind mir zu viele schwarze Schafe unterwegs wo man auch Bewertungen nicht trauen kann. Wer da gleich kauft und sich hinterher beschwert ist selber Schuld meiner Ansicht nacht. Vorallem da es auch kein Rückgaberecht gibt. Was für gut befunden wird, wird gekauft und wenn es nicht so ist, fliegt es wieder runter.
        Da so gut wie alle Spiele einen Kopierschutz haben, der ja zum "Testen" umgangen werden muss, ist das leider illegal
  • Print / Abo
    Apps
    PC Games Hardware 01/2017 PC Games 12/2016 PC Games MMore 01/2016 play³ 12/2016 Games Aktuell 12/2016 buffed 12/2016 XBG Games 11/2016
    PCGH Magazin 01/2017 PC Games 12/2016 PC Games MMORE Computec Kiosk On the Run! Birdies Run
article
1147803
Xbox One
Xbox One SDK verrät: Wo kommen Ruckler her und wie sind die Ressourcen verteilt?
Der Leak des SDK für die Xbox One ist nicht schön, aber für technikbegeisterte Menschen ein wahrer Segen. Er gibt intime Einblicke hinter die Kulissen der Entwicklung und verrät unter anderem, wo so mancher Ruckler herkommt, wie die Ressourcen genutzt werden und wie die Entwicklung läuft.
http://www.pcgameshardware.de/Xbox-One-Konsolen-232351/Specials/SDK-Ruckler-Ressourcenverteilung-1147803/
13.01.2015
http://www.pcgameshardware.de/screenshots/medium/2014/03/Xbox_One_White_Edition-gamezone_b2teaser_169.JPG
specials