"Definition von Killerspiel: Eine Schachtel Mensch-Ärgere-Dich-Nicht, die so ungeschickt aus dem Regal fällt, dass sie dir den Schädel bricht." « Umlüx Fullscreen Leftbar Close Leftbar Login now!

Mikroruckler analysiert

oanszwoa 19.07.2013 - 10:46 5123 12 Thread rating
Posts

oanszwoa

-
Avatar
Registered: Nov 2004
Location: vienna
Posts: 2879
click to enlarge
Mehrere Grafikkarten erzeugen im Zusammenschluss via SLI oder Crossfire mehr Frames pro Sekunde als eine einzelne. Das besagt zumindest die Theorie. Wer sich allerdings schon genauer mit der Multi-GPU-Thematik befasst hat, wird sicher auch schon von Mikrorucklern gehört haben, die trotz ausreichender Framerate das subjektive Empfinden der flüssigen Darstellung stören. Wir fassen zusammen, wie der derzeitige Stand der Technik aussieht.

Analyse des Frame-Verlaufs mit FCAT

Unsere Kollegen von ComputerBase haben sich in einem kürzlich veröffentlichten Artikel mit dem Thema Mikroruckler - auch Microstuttering genannt - auseinander gesetzt und sind mittels FCAT zu sehr aufschlussreichen Ergebnissen gekommen. Doch was ist dieses FCAT genau? FCAT steht für Frame Capture and Analysis Tool und ist ein Werkzeug, das von NVIDIA entwickelt wurde, um die sogenannten Frame-Latenzen - also den zeitlichen Abstand zwischen den am Bildschirm angezeigten Einzelbildern - aufzuzeichnen, damit diese in weiterer Folge analysiert werden können. Um mit den großen Datenmengen zurechtzukommen, die bei 60+ Frames/Sekunde und FullHD-Auflösung entstehen, wird auf eine hochwertige Video-Capture-Karte zurückgegriffen, die direkt zwischen Grafikkarte und Monitor geschaltet wird. Am Ende der Rendering Pipeline nimmt sie - im Gegensatz zum gebräuchlicheren Fraps - auch den tatsächlichen Frame-Verlauf auf. Fraps schneidet in dieser Pipeline nämlich viel zu früh mit und kann deshalb beispielsweise nicht feststellen, ob ein berechnetes Einzelbild auch tatsächlich den Weg zum Monitor findet. Stichwort: "Dropped Frames".

click to enlarge
Die Rendering Pipeline und Fraps: Nur mit FCAT werden die Frames wirklich präzise analysiert.


In den folgenden Diagrammen seht ihr die Problematik bildlich aufbereitet, indem die erreichten Frametimes in Millisekunden dargestellt werden. Unabhängig von der Anzahl an Frames/Sekunde ist ein stark nach oben und unten ausschlagender Graph als eine wenige flüssige Darstellung der einzelnen Frames zu deuten. Wie hier schön zu sehen ist, erreichen die getesteten Single-GPU-Karten deutlich konstantere Ergebnisse als Dual-GPU-Lösungen, wobei NVIDIA deutlich besser abschneidet als AMD. Verglichen werden (unter anderem) die Spiele Battlefield 3, Metro Last Light und Crysis 3 jeweils mit GTX 770 vs HD 7970 GHz Edition, sowie als Gegenüberstellung mit den Dual-GPU-Karten GTX 690 vs HD 7990.

click to enlarge click to enlarge
Die unregelmäßigen Frame-Latenzen zeigen sich besonders bei HD 7990 in Battlefield 3.

click to enlarge click to enlarge
Metro hingegen scheint deutlich besser mit SLI und Crossfire umgehen zu können.

click to enlarge click to enlarge
Auch bei Crysis 3 kann sich AMDs HD 7990 nicht mit Lorbeeren schmücken.


ComputerBase resümiert wie folgt:
quote:

Nicht nur unser Empfinden hat den Radeon-Karten teils massive Probleme im CrossFire-Modus attestiert, FCAT kann unsere Ergebnisse ohne weiteres bestätigen. Aber nicht alle Spiele sind betroffen. [...] Während FRAPS eher "normale" Mikroruckler auf der Radeon HD 7990 suggeriert, macht das Spiel in unserer Testszene überhaupt keinen Spaß. Der Titel hakt dermaßen, dass selbst eine Single-GPU-Konfiguration ein deutlich besseres Spielgefühl ermöglicht.

FCAT zeigt nun, warum wir solch ein schlechtes Spielgefühl hatten. Die Frametimes sind auf der Radeon HD 7990 - gelinde gesagt - eine Katastrophe. Die Bildreihenfolge ist derart unregelmäßig, dass die Zeitdifferenz zwischen zwei Frames zwölf Millisekunden beträgt und auf das darauf folgende Frame nur eine einzelne Millisekunde. Sowohl das erste als auch das zweite Diagramm sprechen eine deutliche Sprache. Die massive Anzahl ausgelassener oder kaum sichtbarer Frames bietet einen guten Erklärungsansatz.


Im folgenden Video seht ihr, wie die Problematik dann in der Praxis aussieht. Ein flüssiges Spielgefühl scheint mit der HD 7990 also erst ab rund 100 Frames/Sekunde rüberzukommen. Um das zu erreichen, müssen die Qualitätseinstellungen erfahrungsgemäß deutlich hinuntergeschraubt werden, was eigentlich nicht der Zweck einer derartig hochpreisigen Grafiklösung ist.


Die Problematik der Mikroruckler in der Praxis. Da YouTube nicht ideal ist, steht auch das Originalvideo mit 558 MB zur Verfügung.


AMD gelobt Besserung

Mit diesem Video im Hinterkopf kann also aus derzeitiger Sicht von Crossfire-Systemen nur abgeraten werden. Um dem entgegen zu steuern, hat AMD aber bereits einen Treiber in Arbeit, der Abhilft schaffen soll. Laut einem offiziellen Twitter-Beitrag erscheint dieser bereits am 31. Juli in der finalen Version und wird per sogenanntem "Frame-Pacing" die Mikroruckler reduzieren. Bereits in einer Alpha-Version zeigt der Treiber erste Verbesserungen im Frame-Verlauf, indem er bereits fertig gerenderte Bilder bei Bedarf zurückhält, um so eine gleichmäßigere Bildreihenfolge zu gewährleisten. Die ersten Ergebnisse scheinen ja bereits vielversprechend zu sein:

click to enlarge
Der neue Frame-Pacing-Treiber von AMD in Aktion. Am 31. Juli soll die finale Version zum Download stehen!


Links: Artikel auf Computerbase | Anandtech.com | AMD Interview zum Thema Mikroruckler | Tomshardware.com

InfiX

meh.
Avatar
Registered: Mar 2002
Location: Graz
Posts: 8018
das mit den frametimes versteh ich nicht ganz, mal angenommen mein monitor läuft mit 60hz, also wird alle 16ms ein neues frame dargestellt - wenn ich das richtig verstehe ist die frametime zeitlich auf das spiel bezogen und nicht auf die darstellung - also mal angenommen ich starte mit...
-0ms das erste frame wird dargestellt
12ms das nächste frame wird gerechnet
13ms dito
-16ms ... welches frame wird jetzt dargestellt und wie bezieht sich das auf die spielzeit?

sollte das sich nicht mehr oder weniger ausgleichen, so dass die dargestellten frames näher beieinanderliegen als es bei den frametimes bzw den gerechneten frames der fall ist?

fliza23

spielzeugwaffenhändler
Avatar
Registered: Mar 2005
Location: wien
Posts: 3151
rip tombman

daisho

Shodan
Avatar
Registered: Nov 2002
Location: PLZ 4C4
Posts: 15725
Ich finds super dass das endlich mal analysiert wird und es auch faktisch gemessene Werte gibt.

:thumbsup:

Turrican

Super Moderator
Amiga500-Fan
Avatar
Registered: Jul 2002
Location: Austria,Stmk.
Posts: 23261
ja, wäre super wenn ati mal einen guten treiber bez. mikrouckler fixing rausbtringen würde.
bei nvidia klappt das ganze schon recht gut.

chap

small gift, big smile
Avatar
Registered: Jul 2008
Location: aut.stmk
Posts: 1412
Danke.

Endlich gibt es etwas Grün auf Rot.
Hatte bisher immer die leute überzeugen versucht, jedoch hat mir niemand geglaubt, dass Nvidia das besser im Griff hat als AMD.

manalishi

tl;dr
Avatar
Registered: Feb 2001
Location: Graz
Posts: 5970
quote:

Originally posted by fliza23
rip tombman

Earthshaker

OC Addicted

Registered: Dec 2002
Location: .de
Posts: 4549
Das Originalvideo zeigt mir eigentlich nur das MultiGPU-Systeme egal von welchem Hersteller Schrott sind.
Sowohl AMD als auch Nvidia laufen schlecht. Das würde ich weder so noch so spielen wollen.
Gut das mich Skepsis vom Kauf einer zweiten Karte abgehalten haben. Dann lieber doch ne teurere Single GPU und schöneres Spielgefühl

Castlestabler

OC Addicted

Registered: Aug 2002
Location: Wien und Ossiach..
Posts: 3565
quote:

Originally posted by InfiX
das mit den frametimes versteh ich nicht ganz, mal angenommen mein monitor läuft mit 60hz, also wird alle 16ms ein neues frame dargestellt - wenn ich das richtig verstehe ist die frametime zeitlich auf das spiel bezogen und nicht auf die darstellung - also mal angenommen ich starte mit...
-0ms das erste frame wird dargestellt
12ms das nächste frame wird gerechnet
13ms dito
-16ms ... welches frame wird jetzt dargestellt und wie bezieht sich das auf die spielzeit?

sollte das sich nicht mehr oder weniger ausgleichen, so dass die dargestellten frames näher beieinanderliegen als es bei den frametimes bzw den gerechneten frames der fall ist?



Die Frametimes sind eigentlich nicht so schwierig.
Du hast einen Zeitverlauf dargestellt, der nicht negativ werden kann und darf.
Es geht darum, wann der nächste Frame von der Graka kommt.

Also im Diagramm ohne Mikroruckler kommt zeigt sich eine Linie, also jeder Frame braucht z.B. 25ms bis er zum Monitor übertragen wird.
Bei Mikrorucklern zeigen sich diese Zacken, also ein Frame braucht 40ms und der nächste nur 5ms, also kommen zwei Frames schnell hintereinander und dann wieder länger nichts und genau diesen Zeitversatz nehmen wir wahr.

Der Sehapparat kann ungefähr 20-30 Bilder (Frames) pro Sekunde noch einzeln auflösen, alles höher sieht man nicht mehr, aber wir können noch wahrnehmen ob ein Bild etwas früher kommt und das andere etwas später. Ich glaube da sind die 60Hz die Grenze der Wahrnehmung, also alle Verzögerungen kleiner als 16ms können wir nicht mehr auflösen und sehen sie dann auch nicht mehr.
Die Grenzen sind aber nie scharf und hängen sehr von der Person an, ist genau so wie beim Gehör.

FMFlash

tranceCoder
Avatar
Registered: Mar 2001
Location: Wien
Posts: 2037
So lange die Darstellung nicht genauso flüssig funktioniert wie mit einer einzelnen Karte ist SLI für mich einfach keine Option. Schade.

quote:

Originally posted by Castlestabler
Ich glaube da sind die 60Hz die Grenze der Wahrnehmung, also alle Verzögerungen kleiner als 16ms können wir nicht mehr auflösen und sehen sie dann auch nicht mehr.
Die Grenzen sind aber nie scharf und hängen sehr von der Person an, ist genau so wie beim Gehör.



Das hängt allerdings sehr von der Person und den Umständen ab. Meine persönliche Grenze liegt zb irgendwo zwischen 110 und 120Hz; aber nur wenn ich selbst Hand an Maus und Keyboard lege. Habe ich nur visuellen Input liegt die "flüssiger wirds nicht"-Grenze deutlich niedriger. Würde mich mal interessieren warum das so ist ...

TheHackman

48°12'N 16°19'E
Avatar
Registered: Jul 2001
Location: /eu/at/wien
Posts: 2345
Gut das das endlich von den Herstellern als Problem anerkannt wird. Hat nur
6 Jahre 14 Tage 13 Stunden 29 Minuten
gedauert.

R.I.P Tombman

oanszwoa

-
Avatar
Registered: Nov 2004
Location: vienna
Posts: 2879
Seit kurzem kann der neue Catalyst 13.8 Beta-Treiber heruntergeladen werden. Laut Computerbase-Test ist er zwar knapp drei Prozent langsamer als die letze Catalyst-Version, dafür scheint es erstmals nennenswerte Verbessungen zu geben:

quote:

Das Urteil fällt am Ende eindeutig aus: CrossFire-Besitzer sollten den Catalyst 13.8 Beta 1 sofort installieren, der Effekt ist in vielen Spielen beachtlich.

Neo-=IuE=-

OC Addicted

Registered: Jun 2002
Location: Berndorf, NÖ
Posts: 2951
hier noch details:
quote:


Support for AMD CrossFire™ Frame Pacing
- Frame Pacing ensures that frames rendered across multiple GPUs in a CrossFire configuration will be displayed at an even and regular pace.
- Enabled through the AMD Catalyst Control Center; Globally or on a per application basis.
- Frame Pacing is enabled by default.
- Supported for DirectX 10 and DirectX 11 applications, and resolutions up to and including 2560x1600 (single display).


http://support.amd.com/us/kbarticle...BetaDriver.aspx
< Contact Us - Forums - Über overclockers.at - Impressum - Unsere Mediadaten >