DX-12-Update erlaubt einen direkten Zugriff der CPU auf den Grafikspeicher

48
News Maximilian Hohm Als bevorzugte Quelle auf Google hinzufügen
AMD RX 6000 
Quelle: AMD

Microsofts neues Feature GPU Upload Heaps ermöglicht es, dass CPU und GPU simultan auf den Grafikspeicher zugreifen können. Dadurch sollen einerseits Systemressourcen wie Arbeitsspeicher gespart werden können, während andererseits auch die Performance durch den sehr schnellen Grafikspeicher steigen sollte. Lesen Sie daher im Folgenden mehr zu GPU Upload Heaps.

Microsoft hat ein neues Feature vorgestellt, das die Performance von Spielen unter DX 12 deutlich verbessern könnte. Gemeinsam mit Resizable-Bar ermöglicht GPU Upload Heaps es, dass die CPU direkt auf den Grafikspeicher zugreifen kann. Dadurch sinkt nicht nur die Arbeitsspeicherauslastung im System, da einige Daten nicht mehr von der CPU zur GPU kopiert werden müssen, sondern auch die Performance soll steigen. GPU Upload Heaps ist ein Teil des neuen Agilityx SDK 1.710.0, das in seiner Preview-Version ab sofort erhältlich ist.

Das Feature ist eine wichtige Reaktion auf einen aktuellen Trend. Der Grafikspeicher bei aktuellen Modellen wird immer größer und immer mehr Daten müssen darin abgelegt werden, sodass die CPU diese Daten weitergeben muss. Bisher muss dazu immer eine Kopie der Daten im Arbeitsspeicher liegen und die andere im Grafikspeicher. Der Hauptspeicher ist allerdings langsamer als der Grafikspeicher und verfügt über schlechtere Latenzen, sodass Upload Heaps bei Nutzung des Grafikspeichers auch die CPU-Leistung minimal verbessern könnte.

Als Spieler hat man wenig Voraussetzungen für GPU Upload Heaps. Es ist Hardware nötig, die Resizable-Bar bzw. Smart Access Memory, je nach Nomenklatur der Hersteller, auf CPU- und GPU-Ebene unterstützt. Es braucht also mindestens eine Radeon RX 6xx0 oder Geforce RTX 30x0 (Ti) in Kombination mit der elften Core-Generation oder AMDs Ryzen auf Zen-2-Basis. Das Feature erlaubt es Windows, den Grafikspeicher direkt zu verwalten, wodurch GPU Upload Heaps erst funktionieren kann.

Unterstützt wird es bereits von AMD, Intel und Nvidia, doch bei AMD-Grafikkarten muss der unterstützte Treiber seitens der Entwickler angefragt werden, während Intel und Nvidia ihre entsprechenden Treiber bereits veröffentlicht haben. Da das Feature erst von Microsoft vorgestellt wurde, ist nicht davon auszugehen, dass es zeitnah von Spielen genutzt wird und doch stellt es eine interessante Neuentwicklung dar, die die Performance zukünftiger Titel verbessern könnte.

Quelle: Microsoft

48
    • Kommentare (48)

      Zur Diskussion im Forum
      • Von Bobhais Software-Overclocker(in)
        Zitat von Julian K
        Du brauchst dann im Idealfall weniger RAM und nicht weniger VRAM oder verstehe ich das gerade falsch?
        Ja, war reiner Sarkasmus.
      • Von Bobhais Software-Overclocker(in)
        Zitat von Julian K
        Du brauchst dann im Idealfall weniger RAM und nicht weniger VRAM oder verstehe ich das gerade falsch?
        Ja, war reiner Sarkasmus.
      • Von PCGH_Torsten Kokü-Junkie (m/w)
        Dieses PC-Schema entspricht keinem je real existierendem System. Nicht einmal annäherend. Zu Zeiten, in denen ein SATA-Host-Controller verbaut wurde, hattest du schon lange keinen "externen Bus" mehr, an dem auch der RAM hing. Bei den ersten PCs war der Aufbau noch viel primitiver und damit direkter als beim Amiga: Es gab den System-Bus. Da hing alles dran. Fertig. Nur für Disketten- oder gar Festplattenlaufwerke war noch mal ein Controller dahinter, aber dieser hatte direkten Kontakt zur gleichen Leiterbahn an der auch der 8088, oben verlinkter DMA-Controller, das Basic-ROM und jeder einzelne Speicher-Chip hing. Und, lediglich elektrisch entkoppelt und de-multiplexed, sogar sämtliche Erweiterungskarten – man konnte meinem Wissen nach bis einschließlich zum 286 RAM oder sogar ganze CPUs auf Steckkarten nachrüsten und das unterschied sich in der Systemlogik nicht von einem Einbau der gleichen Chips auf den passenden Mainboard-Sockeln.

        Die Unterteilung in verschiedene, getrennte Busse hat beim PC erst nach und nach Einzug gehalten, weil die systemweiten Lösungen einfach nicht skalierbar und schnarchlahm waren. Da konnte zwar jeder mit jedem reden, aber die meiste Zeit haben alle auf irgend einen gewartet. Ich hatte das letztes Jahr mal im Rahmen der Sockelgeschichte aufgeschrieben, wie sich aus dem System- über mehrere Zwischenstufen der Front-Side-Bus entwickelt hat.
        [Ins Forum, um diesen Inhalt zu sehen]
        [Ins Forum, um diesen Inhalt zu sehen]
      • Von MechUnit Software-Overclocker(in)
        Zitat von PCGH_Torsten
        PCs hatten zu Anfang auch dedizierte DMA-Controller. Die spätere Integration hat Kosten gespart, aber nichts an der Funktion geändert.
        [Ins Forum, um diesen Inhalt zu sehen]

        In wie weit die Amiga-Lösung technisch überlegen war, kann ich mangels Kenntnis derselben nicht sagen, aber das Direct Memory Access nur direkten Zugriff auf den (Haupt-)Speicher bietet, erklärt sich doch quasi von selbst.^^ Dieser ist beim PC aber prinzipiell allen Geräten möglich, die an einem DMA-tauglichen Bus hängen. In diesem Zusammenhang sei an die Sicherheitsprobleme rund um Thunderbolt erinnert, dass den vollen PCI-E-Feature-Stack externen Geräten zugänglich machen kann – inklusive DMA, aber halt mit einem Sicherheitskonzept, dass wie folgt aussieht: "Wenn Sie Angst vor Angriffen via PCI-E haben, dann machen sie doch ein Schloss ans Gehäuse."
        das problem beim (XT- bzw. AT-) PC war ja, dass er damals standarmäßig keine(n) co-prozessor(en) hatte. ab den MMX-prozessoren war das ja dann obsolet.

        am Amiga sah das so aus:

        [Ins Forum, um diesen Inhalt zu sehen]

        hier am beispiel eines OCS/ECS-systems (modelle A500, A500+, A600, A1000, A2000, A3000). hier können als von der CPU aus direkt daten auf sämtliche bereiche und zurück fließen - der chipsatz waren hier co-prozessoren, die das system und vor allem die grafik beschleunigten. auch diese architektur erlaubte bereits eine datenbreite von 32 bit.

        hier ein schaubild des datenflusses im PC (ein einfacheres schaubild fand ich auf die schnelle nicht, aber der datenfluss bzw. die kommunikation zw. den komponenten ist hier doch gut zu erkennen):

        [Ins Forum, um diesen Inhalt zu sehen]

        es ist zu erkennen, dass hier die daten am PC über mehrere zwischenstationen fließen müssen und nicht alle komponenten direkt miteinander kommunizieren können, sondern es sind controller zwischengeschaltet, um die daten noch einmal an die komponenten zu verteilen und zurück zu senden. das bedeutet natürlich geschwindigkeitsverluste. man beachte den datenweg von der CPU zum grafikspeicher. von langsameren OS und den bremsenden treibern damals fange ich jetzt nicht an, da hat sich ja zum glück einiges getan.

        klar, in DMA steckt das wort "Memory", was diesen natürlich betrifft ^^ aber durch die einfachere, direktere hardwarestruktur des Amigas und direkteren zugriffs auf die komponenten von CPU und speicher konnten daten schneller fließen bzw. controller waren erst verbaut, wenn nötig. z.b. brachte oft externe hardware integrierte controller mit, siehe hier:

        [Ins Forum, um diesen Inhalt zu sehen]
        (eine festplatte mit externem A500-controller)

        man schaltete zusätzliche controller quasi erst ans ende der daten-/kommunikationsleitungen "hinten ran".

        interessant war das auch mit z.b. PPC-erweiterungskarten bei den AGA-Amigas (wie z.B. meinem noch vorhandenen A4000):

        man steckte die erweiterungskarte mit PPC direkt auf den prozessorsockel und hatte quasi ein kleineres 2. board auf dem mainboard, auf dem dann PPC, co-prozessor (bei mir 68060), fast RAM und SCSI-schnittstelle stecken.

        soweit zu den physischen unterschieden.

        deswegen ist hier die frage bzw. der lösungsansatz interessant, wie Microsoft diesen "umweg" vermeidet bzw, wie das technisch umzusetzen ist, damit das funktioniert. dass der system-RAM ausgelassen wird, ist klar, sonst würde das keinen sinn machen. aber funktioniert das ganze so einfach, dass einfach nur der RAM ausgelassen wird oder steckt da mehr dahinter? ich bin auf den lösungsansatz von MS gespannt.
      • Von Olstyle Trockeneisprofi (m/w)
        Zitat von PCGH_Torsten
        In diesem Zusammenhang sei an die Sicherheitsprobleme rund um Thunderbolt erinnert, dass den vollen PCI-E-Feature-Stack externen Geräten zugänglich machen kann – inklusive DMA, aber halt mit einem Sicherheitskonzept, dass wie folgt aussieht: "Wenn Sie Angst vor Angriffen via PCI-E haben, dann machen sie doch ein Schloss ans Gehäuse."
        Mein Dell NB fragt bei jedem neuen Gerät am TB erstmal nach ob das irgendwas darf. Allerdings weiß ich nicht ob diese "Sicherheit" über die eines Mac-Filters hinaus geht.
      • Von PCGH_Torsten Kokü-Junkie (m/w)
        PCs hatten zu Anfang auch dedizierte DMA-Controller. Die spätere Integration hat Kosten gespart, aber nichts an der Funktion geändert.
        [Ins Forum, um diesen Inhalt zu sehen]

        In wie weit die Amiga-Lösung technisch überlegen war, kann ich mangels Kenntnis derselben nicht sagen, aber das Direct Memory Access nur direkten Zugriff auf den (Haupt-)Speicher bietet, erklärt sich doch quasi von selbst.^^ Dieser ist beim PC aber prinzipiell allen Geräten möglich, die an einem DMA-tauglichen Bus hängen. In diesem Zusammenhang sei an die Sicherheitsprobleme rund um Thunderbolt erinnert, dass den vollen PCI-E-Feature-Stack externen Geräten zugänglich machen kann – inklusive DMA, aber halt mit einem Sicherheitskonzept, dass wie folgt aussieht: "Wenn Sie Angst vor Angriffen via PCI-E haben, dann machen sie doch ein Schloss ans Gehäuse."
      Direkt zum Diskussionsende
  • Print / Abo
    Apps
    PCGH Magazin 08/2026 PC Games 07/2026 play5 08/2026 N-Zone 07/2026 Linux Magazin 08/2026 LinuxUser 07/2026 Raspberry Pi Geek 07/2026
    PC Games Hardware PC Games Linux Magazin Raspberry Pi Geek Computec Kiosk