• Hallo Gast, du kaufst gerne günstig ein und erfährst oft vor deinen Freunden von interessanten Angeboten? Dann kannst du dein Talent als Schnäppchenjäger jetzt zu Geld machen und anderen PCGH-Lesern beim Sparen helfen! Schau einfach mal rein - beim Test der Community Deals!

FCAT und die Probleme damit

Skysnake

Lötkolbengott/-göttin
Seid ein paar Tagen verfolge ich angestrengt die Diskussion um FCAT, und wie gut/schlecht es sei.

Von nVidia wird ja, so hat es den Anschein, suggeriert, dass es mit FCAT möglich ist, das Spielerlebnis für den Nutzer zu bewerten, und das auf eine transparente Art und Weise. Da nVidia die FCAT tools mit entwickelt hat, wird auch immer auf Transparenz hingewiesen. Leider musste ich feststellen, das Transparenz im Bereich FCAT absolut nicht vorhanden ist.

Nur um mal einen "kleinen" Anriss zu geben:


  • THG: X79 konnten wir nicht nutzen für FCAT, die Daten waren unbrauchbar, die generiert wurden <-> PCper: Wir verwenden ein ASUS MB mit X79 Chipsatz
  • THG: Wir nutzen Virtual-Dub <-> PCper: Wir nutzen virtual-dub nicht, weil es damit Probleme gibt, daher haben wir was selbst entwickelt.
  • THG: gibt keine Version an für FCAT <-> PCper: Wir haben FCAT mit nVidia verbessert, und verwenden V1.2
  • Der Code des Overlays ist nicht openSource
  • Die Einstellmöglichkeiten in den Perl-Skripten werden von den Testern absolut mangelhaft aufgezeigt
  • Warum laufen FCAT und Fraps nicht zusammen?
  • usw usw usw
Die obige Aufzählung soll nur exemplarisch die Situation mit FCAT aufzeigen. Man weiß entgegen dem, was suggeriert wird, absolut nicht, auf welcher Datengrundlage die Ergebnisse erstellt wurden.


Hauptproblem hierbei ist, dass allein schon das Overlay nicht openSpource ist. Es ist also nicht möglich zu erkennen, wo genau in den Renderingprozess eingegriffen wird, und wie. Hier klaffen Anspruch und Realtität leider sehr weit auseinander.
Gibt es hierfür eine Erklärung seitens nVidia?


Nach diesen formalen Problemen, gibt es aber auch noch konzeptionelle Probleme an FCAT.
Warum nimmt man z.B. nur 16 Farbwerte? Die Datenaufzeichnung erfolgt ja digital. Es gibt also eigentlich keinen Grund, sich auf 16 zu beschränken (dazu gleich mehr).

Warum gibt es Probleme mit FCAT und FRAPS?


In den Tests wird ja immer suggeriert, dass das Spielerlebnis wiedergespiegelt werden kann durch die Werte die FCAT ausspuckt. Hierbei wird allerdings unterschlagen, das eben nur einer von zwei Aspekten betrachtet wird. Auf der einen Seite die gleichmäßige Ausgabe von Frame, die FCAT ermittelt, auf der anderen Seite aber auch die absolute Abweichung, sowie die Varianz zwischen Ingamezeit und Displaytime.


Dieser zweite Punkt wird leider überhaupt nicht betrachtet, dabei wäre es ein leichtes, dies zumindest in erster Näherung zu betrachten, indem man den Farbwert des Overlays entsprechend der Zeit codiert. Durch die 24Bit Farbwerte, die man zur Verfügung hat, könne man bei einer Zeitauflösung von 10 µs über mehrere Sekunden hinweg ohne Wiederholung des Farbwertes das Overlay entsprechend einfärben.


Hiermit würde man dieses Auseinanderlaufen der Ingamezeit und der Displayzeit sogar messen können. Leider ist dies nicht möglich, da eben die entsrechenden Teile von FCAT nicht zugänglich sind. Dabei ist es, wie gesagt ein leichtes FCAT entsprechend aufzuwerten.



Gibt es einen Grund dafür, das nVidia dies also nicht gleich gemacht hat?


Hat man dies etwa nicht gemacht, weil man dann sehen würde, dass nVidia durch das Framemetering die Ausgabe von Frames verzögert? Gibt es dazu eine Stellungnahme bzgl der Funktionsweise von Framemetering?


Und wann dürfen wir darauf hoffen, dass FCAT um die zeitliche Farbcodierung erweitert wird, damit das tool endlich das liefert, was bereits heute versucht wird zu suggerieren?
 

Lars Weinand

Nvidia Staff
Der Overlay wird schon sehr bald in Rivatuner & Co integriert sein. Für den Rest verweise ich auf den kommenden PCGH Artikel :)

X79 läuft fein.. aber man hat 480MB/s Datenrate bei 2560x1440. Da muss das System 1A konfiguriert sein, wenn man Graka, Capture Karte und PCIe SSD alle am PCIe hat.
 

PCGH_Carsten

Ex-Redakteur
Kollege Vötter sagt mir gerade, dass im RT Statistics Server 5.0.1 (aus dem aktuellen Afterburner-Beta) bereits der Overlay-Support drin ist.
 
TE
Skysnake

Skysnake

Lötkolbengott/-göttin
Das X79 wurde, soweit man das verstanden hat, der Artikel ist leider nicht sauber geschrieben...., NICHT als Capturing System verwenden wollen, sondern als Testsystem.

Soweit ich das verstanden habe, war das Problem auch unabhängig von der Bildauflösung.

@Overlay:
Da ist das Overlay dann aber auch wieder closedSource, und damit für Erweiterungen sowie nähere Betrachtungen wertlos :(

Oder wo gibts den SourceCode dafür?

Und wie siehts mit der Version von FCAT aus? Welche ist da aktuell? 1.2?

Und was ist mit der statischen Farbtabelle?
 

Lars Weinand

Nvidia Staff
Das kann so nicht sein. Was hat der Chipsatz damit zu tun? Das Bild wird am DVI abgegriffen. Auf welchem Chipsatz die Karte des Spielsystems läuft, ist das irrelevant.

Wir schicken den Sourcecode jedem zu, der interessiert ist. Es ist ein 08/15 overlay, so wie Fraps die FPS einblendet oder andere Tools dinge. Pro Frame eine Farbe. Kann jeder auch schnell selbst programmieren.

1.3 ist derzeit aktuell. Wir arbeiten an einem language bug.

Wenn jemand da ein einfacheres tool erstellen möchte, nur zu! Wir sind da völlig offen. Es ist alles Perl, damit jeder den Sourcecode einsehen kann.
 
TE
Skysnake

Skysnake

Lötkolbengott/-göttin
"Meld für den Overlay-Sourcecode"

Bzgl der X79 Frage: Gut Frage! Die habe ich mir nämlich auch schon gestellt, und keine Antwort gefunden. THG wollte sich diese Woche noch melden, keine Ahnung, was die gemacht haben. :ka:
 
TE
Skysnake

Skysnake

Lötkolbengott/-göttin
Und ich glaub, da gibt es noch ein paar ausm 3DCenter, die sich auch freuen würden :D
 
TE
Skysnake

Skysnake

Lötkolbengott/-göttin
Für das AdvancedLogicFrameCapteringTool ;)

Also ALFCAT :D

Geht nur darum, das man eben die statische Farbtabelle ersetzt durch einen zeitabhängigen Farbwert, bei dem man eben die 24 RGB-Bits ausnutzt und die Werte Farbwerte eben in einem buffer speichert, den man dann am Ende ausliest/speichert.

Damit wäre eben zu sehen, inwieweit es zu eine Abweichung zwischen dem Zeitintervall des DX-Hooks und der Ausgabe kommt.

Also Beispiel:

Eine Frame wird 800 Zeilen angezeigt. -> 1/60/1080*800=12,3ms

Die Farbwerte zwischen den beiden Frames müssen also im Optimalfall 12,3ms entsprechen. Wenn man alle 10µs um 1 quasi hoch zählt, und von 0b0 ausgeht, dann wäre das danach also der Farbwert 0b10011001110 (höherwertige 0 Bits jetzt ausgelassen!).

Wenn man jetzt in erster Näherung davon ausgeht, dass die ingamezeit mit dem call des DX-Hook korreliert, kann man daraus in erster Näherung ableiten, wie die Varianz (und relative Differen) zwischen Displaytime und ingametime ist.

Man könnte, sofern man das weiß, sogar zwischen statischer ingametime und dynamischer Inganetime unterscheiden.

Spinnt man das weiter, wäre es sogar denkbar, das Developer diese Information in geänderter Form für eine Rückkoplung in die Engine nutzen, um eben Ingametime und Displaytime zu syncen unter Berücksichtigung von Framemetering.

Theoretisch sollte sich das sehr einfach implementieren lassen, aber so lange man den SourceCode des Overlays nicht kennt, kann man das nicht sagen.
 
Oben Unten