mr_andersson schrieb:
Es wäre mal interessant den Frame-Lag zu testen. Es kann doch nich wahr sein. Erst werden die FPS geschönt, um bei den Benches besser auszusehen... dann fliegt es auf und man gibt die Bilder gleichmäßiger aus, wobei aber ganz sicher der "Input-Lag" höher wird.
Man sollte unbedingt mal ein Interview mit John Carmack führen, der hat dies schon vor langer Zeit kritisiert.
Dass das Messtool von Nvidia stammt, stimmt mich auch ein wenig skeptisch.
.....
CD schrieb:
Nun ja direkt nach der Engine werden die Bilder mit einem Farbcode bestückt und anschließend wird mit einer externen Karte gemessen, welches Bild wie lange angezeigt wird bzw. wie viel % eines Bildes tatsächlich dargestellt werden bevor das nächste Bild kommt. Ich seh da nicht so viele Möglichkeiten zu cheaten. Dass die FRAPS-Messungen mit ihren ingame-FPS nur die halbe Wahrheit sagen ist schon länger bekannt. Wobei man sich durch das ganze Frame-Metering und irgendwelche künstlichen Delays natürlich wieder einen ganz anderen Satz an Problemen schafft: evtl. mehr input-lag, und es bringt ja auch nix wenn zwei Bilder nahezu gleichzeitig fertig sind mit der Berechnung, daher fast den gleichen Inhalt zeigen, aber eines der Bilder halt stark verzögert ausgegeben wird. Das wird dann auch als ruckeln empfunden, trotz der regelmäßigen Ausgabe. Um das zu quantifizieren, müsste man zB ein Objekt mit einer konstanten Geschwindigkeit über den Bildschirm bewegen und dann mit einer Capture-Karte die tatsächliche Bewegung messen, die auf dem Bildschirm ausgegeben wird.
Prima Antwort
FCAT macht lediglichdas Farboverlay! Dies wird durch eine Neutrale methode (DVI Capture card) aufgenommen, und dann via Python script (was ja öffentlich einsehbar ist!) ausgewertet! Du kannst also selbst ein Script erstellen das nach deinen Wünschen die Farbcodes auswertet. Und das Nvidia nun beim Farbcode einbetten bei AMD noch absichtlich Frameversätze einbaue.... kann ich mir nur schwer vorstellen, das Risiko gehen sie wohl nicht ein.
atb2006 schrieb:
Also ich habe über jahre einen Quad Sli system und Microruckler habe ich noch nie gemerkt .
Naja, mit QuadSLI hat man wohl konstant über 60 FPS egal was man macht oder ?
Laggy.NET schrieb:
Wirklich toller artikel, gute arbeit. Danke. Dennoch muss ich mich der Kritik anschließen.
Abgesehen davon finde ich es aber irgendwie wiedersprüchlich, dass Microruckeln bis ins kleinste Detail analysiert wird und und man ein riesen Fass auf macht, aber das Tearing am Monitor akzeptiert und sogar als Berechnungsgrundlage nimmt.
Die ganze Messung der Frametimes basiert ja darauf, dass auf einem ausgegebenen Bild mehrere Frames gleichzeitig zu sehen sind. Klar geht es hier mehr um die analyse des Zeitabstands zwischen den Frames. Aber gleichzeitig zeigt das auch wieder, dass die Grundlage dieser Microruckler u.a auch das Tearing darstellt. Ohne Tearing würde es schließlich gar nicht zu "runt" frames bzw. wertlosen Frames kommen, da eben nur vollständige Bilder angezeigt werden und nicht zwei oder mehrere gleichzeitig.
Tearing führt selbst bei absolut perfekten Frametimes dazu, dass ein Monitorframe aus mehreren frames zusammengesetzt sein kann, welche dann logischerweise eine zeitliche differenz im Bildinhalt aufweisen.
Wenn sich nun z.B. ein objekt über den Bildschirm bewegt, aber die dargestellten Frames mal früher mal später erstellt worden sind, kommt es unweigerlich zu "rucklern" bzw. das Objekt kann sich unmöglich gleichmäßig über das Display bewegen. Beispiel: eine kugel bewegt sich von unten nach oben übers display. Nun werden zwei Frames gleichzeitig dargestellt, sagen wir zu 50% oben und zu 50% unten, so dass die grenze zwischen den Frames genau in der Mitte horizontal verläuft. Die kugel befindet sich nun genau in der Mitte des Monitors, während sie in einer Aufwärtsbewegung ist. Nun ist das obere Frame aber älter, als das untere Frame. Folglich entsteht ein ruckler in der Bewegung der kugel, da der obere Teil des Bildes zu spät aktualisiert wurde und eben noch aus dem alten Frame, als die kugel noch ein paar pixel weiter unten war besteht. Es entsteht unweigerlich ein versatz, der bei ner Bewegung, wie gesagt zu nem µRuckler führt.
Für mich ist daher nach wie vor vsync absolut unverzichtbar für ein klares, ruckelfreies Bild. (ausser ich erreiche 150+ FPS, dann sind die störungen durch Tearing weniger sichtbar)
Eine Messung mit Vsync wäre daher IMHO sinnvoll, wenn man eh schon so pingelig in der ganzen sache bzgl. den rucklern ist. Theoretisch dürfte es ja dann höchstens nur noch zu dropped Frames kommen.
Ich kann eben wie gesagt nicht verstehen, warum man Microruckler so harsch kritisiert, aber Tearing nicht bzw. komplett ignoriert, obwohl es nahezu den selben visuellen Effekt auslöst.
Was du hier beschreibst ist der Frameversatz und NICHT Tearing! Tearing entsteht NUR auf dem Bildschirm, NICHT in der Engine selbst! Zbsp bei Multimonitor (Eyefinity/Surround) taucht Tearing auf wenn du schlechte Adapter oder Bildschirme hast un die einen Linienversatz verursachen. (AFAIK) (Und übrigens nicht mal verhinderbar^^ Sonst wäre das Bild ja starr)
CD schrieb:
Multimonitor-Benchmarks wären natürlich nice - denn mal ehrlich für Full-HD muss man sich keine zwei High-End-Karten in den Rechner packen, außer man will aus irgendwelchen Gründen 500 fps haben (die dann eh nicht angezeigt werden können). So richtig "notwendig" wird MultiGPU erst bei Multimonitor-Gaming wo einer einzelnen Karte ziemlich schnell die Firepower ausgeht.
Es sei denn jemand will 144hz auf 27" 2560x1660(1400) Pixel
CD schrieb:
Wenn man's ganz genau haben will müsste man bei FCAT eigetnlcih auch noch irgend ne einfache geometrische Form einblenden und mit konstanter Geschwindigkeit* ständig durchs Bild bewegen (zB ein lila Kreis von links nach rechts) und nach der Capture-Karte dann mit ner Software die Bewegung auswerten, also so ne art "zurückgelegte Pixel pro ms"-Diagramm erstellen. Das würde einen Messwert für die "Gleichmäßigkeit" der wahrgenommenen Bewegungen ergeben.
*konstant bezieht sich dabei auf die Geschwindigkeit in der Engine, sprich bevor dann alles (Ingame-Grafik und Overlay) an die Render-Engine und die ganzen Delay-Sachen übergeben wird.
(dazu brauchst du kein FCAT, zumal das sowieso Engine Abhängig ist! Aber hier Bitteschön
http://frames-per-second.appspot.com/ )
Schön das du es erwähnst. Um auf die 144hz Monitore zurück zu kommen, kennst du diese Seite ?
http://www.blurbusters.com/
Es geht zwar hier nicht um die Enginemässige "flüssigkeit" sondern um die des Bildschirmes, aber je mehr FPS du hast destö flüssiger das Bild, so einfach, und mehr als 60 FPS bringen nur bei Vertikalen Bewegungen etwas.
Interessante Frage hier wäre wie oft in einem Refresh das Bild wechseln kann, also kann ich während dem Refresh 1089 Neue Bilder errechnen und diese an den Bildschirm senden das er diese anzeigt, oder wie lange braucht der Monitor bis er das signal bekommt? (auch besser bekannt unter dem namen Input Lag) Da dieser aber meistens bei 10-30ms liegt dürfte dies einzig und alleine bei Starren szene etwas bringen (also auch keine Kamera bewegungen!)
Btw um wieder auf 144hz zu kommen, Nvidias Lightboos Technologie ermöglicht es (War ja ursprunglich für 3D shutter brillen gedacht) 2D so zu hinterleuchten das ein Motionblur effekt wie bei einem Röhrenmonitor erscheint
Meine nächsten Monitore (wenn nicht Projektoren xD ) werden bestimmt 144/120hz mit Lightboost, Leider gibt es die nicht in IPS, nur TN.
60HZ
120hz
120hz mit Lightboost!
@Teiby.... doch ? Das einzig wichtige war im Anhang die Diagramme und evtl noch die Äusserungen des Autors. Wer heute das erste mal von Mikrorucklern und Fcat gehört hat wohl vermutlich nicht....