CapFrameX - Capture und Analyse Tool

ZeroStrat

Profi
Thread Starter
Mitglied seit
07.06.2019
Beiträge
151
CX_Header_Logo_Wide.png


Hallo LUXX-Community,

da ihr auch gerne bencht, mache ich hier einfach mal einen Thread auf. In anderen großen Hardware-Communities sind wir bereits vertreten, deshalb möchten wir selbstverständlich auch hier präsent sein.

CapFrameX hat sich mittlerweile zu einem ziemlich umfangreichen Tool entwickelt.
  • Capturing von Frametimes auf Basis von PresentMon
  • Overlay mit vielen Informationen über RTSS
  • Umfangreiche Analysemöglichkeiten
  • Hardware-Sensordaten mit entsprechenden Statistiken und Grafiken
  • Cloud-Anbindung zum Teilen von Aufzeichnungen und vieles mehr
CX wird international von vielen Redaktionen zum erstellen von Gaming Benchmarks eingesetzt.

Download + Website: https://capframex.com/
Code (OpenSource) auf GitHub: https://github.com/DevTechProfile/CapFrameX

Wir haben immer die Nähe zu den Communities gesucht, um Verbesserungsvorschläge in das Projekt mit einfließen zu lassen. Falls ihr Anregungen oder Fragen habt, dafür ist dieser Thread.

Euer CX-Team
 
Zuletzt bearbeitet:
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Hat das tool auch einen integrierten benchmark?
 
Nettes Projekt!
 
Verwende ich schon seit Monaten, meiner Meinung nach das beste Tool zum aufzeichnen der frametimes.
Kann ich jedem Empfehlen
 
Daumen hoch auch von mir (y)
 
Wir haben uns entschieden, rasch eine neue Folgeversion zu releasen, weil das Feedback aus der Community letztlich gezeigt hat, dass es noch einige Probleme gab. Das sind wir angegangen und hier nun das Ergebnis, nämlich die Version 1.5.1: https://capframex.com/download
 
@ZeroStrat Erstmal ein wahnsinniges Lob für die Software. Absolut der Hammer was die alles macht.
Eine bitte hätte ich jedoch. Wäre es möglich bei "Comparison" unter Metrics noch einen weiteren Datensatz zu zu lassen? So dass man quasi 4 Balken haben kann.
Dieser Balken müsste allerdings auf die Sensordaten zugreifen, die ja mit gespeichert werden. Ich würd nämlich gern einen Effizienzvergleich fahren und den durchschnittlichen Verbrauch mit angeben.

PS: einzige was etwas genervt hat bei der Software ist, dass Gsync damit verrückt spielt. Musste manuell über den Treiber ein Profil einrichten für die APP, dass sie ohne GSYNC läuft und höchste Aktualisierungsrate nutzt. Sonst hab ich hier Diashow auf dem Bildschirm. Vllt könnt ihr das generell bei der App setzen, dass sie auf voller Refreshrate läuft und nicht auf 30 oder 60 oder was auch immer da Hardcoded ist.
 
@def Danke für den Input, ich komme gleich darauf zurück. Ich habe zunächst einen anderen Punkt...

Edit:
PS: einzige was etwas genervt hat bei der Software ist, dass Gsync damit verrückt spielt. Musste manuell über den Treiber ein Profil einrichten für die APP, dass sie ohne GSYNC läuft und höchste Aktualisierungsrate nutzt. Sonst hab ich hier Diashow auf dem Bildschirm. Vllt könnt ihr das generell bei der App setzen, dass sie auf voller Refreshrate läuft und nicht auf 30 oder 60 oder was auch immer da Hardcoded ist.

Das hatten wir auch schon beobachtet auf manchen Systemen. Ist tatsächlich ein verrücktes Verhalten. Ich mache gleich mal ein Issue bei GitHub fertig.

Erstmal ein wahnsinniges Lob für die Software. Absolut der Hammer was die alles macht.
Eine bitte hätte ich jedoch. Wäre es möglich bei "Comparison" unter Metrics noch einen weiteren Datensatz zu zu lassen? So dass man quasi 4 Balken haben kann.
Dieser Balken müsste allerdings auf die Sensordaten zugreifen, die ja mit gespeichert werden. Ich würd nämlich gern einen Effizienzvergleich fahren und den durchschnittlichen Verbrauch mit angeben.

Danke fürs Lob! :-) Was wir vorhatten, ist eine Effzienzmetrik zu definieren, die dann als First oder Second Metric zugeschaltet werden kann auf der Comparison Page. Braucht's dafür wirklich eine 4. Metrik?

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Wir arbeiten zur Zeit an einer aufgeschlüsselten Power Topologie für Nvidia Grafikkarten. Dabei geht es darum, den Verbrauch für den Chip und den Gesamtverbrauch getrennt aufzuführen. Um sicher zu gehen, dass das auch bei älteren Karten und kleineren Turings funktioniert, habe ich eine kleine Testapp erstellt, die das ganze ausliest.

Bitte führt die NvAPISample.exe einmal per Konsole (cmd) aus und teilt mir mit, was ausgegeben wird. Danke für eure Unterstützung.
 

Anhänge

  • NvPowerTopologyInfo.zip
    224 KB · Aufrufe: 310
Zuletzt bearbeitet:
Nv Power Topology Info
[GPU] 7,846%
[Board] 7,909%

PS: Nur mal als Beispiel was ich darstellen möchte bezüglich Verbrauch
 

Anhänge

  • GPU_Preview.jpg
    GPU_Preview.jpg
    76,3 KB · Aufrufe: 325
Zuletzt bearbeitet:
@def Dein Vorhaben sieht interessant aus. Witzigerweise passt das Feature, an dem ich gerade arbeite genau zu deinem Vorhaben. Genauer gesagt ist es sogar eine Voraussetzung dafür, dass du solche Vergleiche überhaupt anstellen kannst. Es gibt nämlich einen wesentlichen Unterschied zwischen den Software-Sensor-Werten von AMD und Nvidia Karten. Während Nvidia die gesamte Board-Power angibt, ist es bei AMD nur die GPU-Power, allerdings laut Igor (Igors Lab) inkl. Spannungswandlerverlusten, aber ohne Speicher und Lüfter, wofür man 20-30 Watt drauf rechnen müsste.

Ich arbeite gerade daran, die GPU-Power von Nvidia Karten getrennt von der Board-Power angeben zu können, aber das scheint nicht zu funktionieren. Die NvAPI liefert völlig unplausible Werte. Ich muss zunächst Nvidia kontaktieren, um zu erfragen, was da los ist.
 
  • Danke
Reaktionen: def
Ich spiel gern den Beta-Tester :-)
Hauptsache ich krieg mein Balken erstmal, damit ich ein vernünftiges Review verfassen kann für den Lesertest :)
 
Das mit dem GPU only wird bei Nvidia schwierig bis unmöglich. Das fließt aktuell nur in Boost ein, denn das Monitoring selbst basiert allein auf den 12V-Schienen. Deshalb tricksen ja mittlerweile Hersteller wieder und verlegen Klimbim zurück auf 3.3 Volt, um mehr Bums für die GPU freizugeben. Und wenn es ein paar Watt sind. Ich würde lieber den umgekehrten Weg gehen, umd bei AMD die zusätzlichen Verbraucher includiren. Das kann man mit Kalibrierungskurven hinbekommen, indem man die Werte vieler Karten aus passenden Reviews mit hinterlegt.
 
Ich würde lieber den umgekehrten Weg gehen, umd bei AMD die zusätzlichen Verbraucher includiren. Das kann man mit Kalibrierungskurven hinbekommen, indem man die Werte vieler Karten aus passenden Reviews mit hinterlegt.

Die Frage ist halt, wie kommt man an die Werte ran? Bei Navi Karten könnte man ja einfach einen Offset von ca. 20 Watt draufpacken. Es wäre praktisch, wenn man das klassenweise gestalten könnte. Modellweise wäre der Supergau...
 
Das mit dem Offset klappt auch nicht wirklich. Die Verluste sind ja nicht fest, sondern schwanken je nach Leistungsaufnahme und sogar der Lüfterdrehzahl. Wenn das alles so einfach wäre, müsste man ja nicht mehr messen. GPU-Power Only zu vergleichen ist auch irgendwie sinnlos. AMDs Speichercontroller wird ja nicht nur durch MVDD versorgt, das teilt sich noch auf. Ich sehe aktuell kaum eine Möglichkeit, die Leistungsaufnahme verlässlich und vergleichbar auszulesen. Zumal man ja 3.3 Volt jetzt auch noch mit einpreisen müsste. Das wird gar nicht erst erfasst. Wobei ich anhand der groben Intervalle solcher Sensor-Loops eigentlich auch gar nichts drauf gebe, so verlockend es auch sein mag, weil man bequem ohne Equipment auskäme. Ich würde die Kraft erst einmal woanders investieren. :)
 
Wie kann ich denn dann am sinnvollsten mein Vorhaben umsetzen? Über Ideen wär ich sehr dankbar.
Von der 1070 hab ich den Powerdraw genommen. Da wird doch aber sicher auch noch was drauf kommen real oder?
 
Wie kann ich denn dann am sinnvollsten mein Vorhaben umsetzen? Über Ideen wär ich sehr dankbar.
Von der 1070 hab ich den Powerdraw genommen. Da wird doch aber sicher auch noch was drauf kommen real oder?
Das gemeine an den ganzen Soft Werte sind die Streuungen, da hier kaum etwas Kalibriert wird (teuer & Zeit aufwendig)
An sich hast du Verluste bis zu Steckdose, also von 230V auf 12V ~10-20%, von 12V auf GPUcore 1,0V ~10-40% (Temperatur Abhängig)

Igor hat ja schon ein paar Messungen hinter sich mit PCI-Express Steckplatz und 12V Schienen getrennt gemessen.
Durch die ganze Energie Optionen ist es nun aber noch schwere da hier eine Dynamic vorhanden ist, die nur mit Oszilloskope Sichtbar wird mit mehr als 1MHz Abfrage Intervall.
Machst du das bei der Software, den I2C Bus mit 1 MHz abzufragen ist das System mehr damit beschäftigt als alles andere - Verfälscht wieder die Leistung beim Messen.
 
Wie kann ich denn dann am sinnvollsten mein Vorhaben umsetzen? Über Ideen wär ich sehr dankbar.
Von der 1070 hab ich den Powerdraw genommen. Da wird doch aber sicher auch noch was drauf kommen real oder?

So frustrierend das auch ist, du kannst dein Vorhaben wohl so wie geplant nicht umsetzen, nicht über den Software-Ansatz. Die Karten von AMD und Nvidia sind schlicht nicht vergleichbar, was die Sensorwerte betrifft. Über die Fehlertoleranz kann man sich streiten, aber 15-20% ist dann doch too much.

Ich hoffe, dass AMD irgendwann mal die Board-Power misst und ausgibt.
 
Genau das ist die Crux. Ich hatte dieses Thema schon mehrmals mit Michael von TPU, der ja den Sensor-Loop für GPU-Z programmiert. 100 ms sind schon extrem systemkritisch, weil man einen gewaltigen Overhead produziert. Zumal die Werte nicht mehr den eigentlichen Intervallen zuzuordnen sind, weil sie nicht mehr synchron geliefert werden können. Das würde alles nur Low-Level klappen, dann aber um so mehr Ressourcen fordern. Ein Teufelskreis. Ich komme ja sogar schon mit den Shunts am Riser-Board samt eines externen USB am zweiten PC und einer Polling-Rate von 1000 Hz arg ins Schlingern und bin auf Ethernet umgestiegen. Trotzdem nehme ich für alles unter 1 ms immer noch die beiden Oszis, auch wenn es wirtschaftlich gesehen eigentlich Schwachsinn ist. Ich blockiere damit 15k-Equipment, nur um eine langweilige Leistungsaufnahme zu messen. :d

Mir fällt auf, dass ich mal meinen Nick ändern sollte. Geht aber nicht. THG ist ja tot. :d
 
@Igor THG Über welche Größenordnungen sprechen wir denn hier? Angenommen, du misst einmal die mittlere Leistungsaufnahme mit 250ms und einmal mit 1ms. In welchem Bereich variiert das? Das muss ja schon bei über 5% liegen, damit man überaupt anfangen kann zu meckern!?

Wir haben übrigens Tests mit einer Polling Rate (GPU, CPU und RAM mit über 50 Sensordaten) von 1/250 gemacht. Der Performance Impact lag unterhalb der Messgenauigkeit, wenn wir diese mit 2-3% ansetzen. Die CPU-Usage von CapFrameX lag bei 0.1-0.2% auf einer modernen Zen 2 CPU oder einem 7700K, 10920X.
 
Zuletzt bearbeitet:
So frustrierend das auch ist, du kannst dein Vorhaben wohl so wie geplant nicht umsetzen, nicht über den Software-Ansatz. Die Karten von AMD und Nvidia sind schlicht nicht vergleichbar, was die Sensorwerte betrifft. Über die Fehlertoleranz kann man sich streiten, aber 15-20% ist dann doch too much.

Ich hoffe, dass AMD irgendwann mal die Board-Power misst und ausgibt.

Dann werd ichs wohl unter Vorbehalt durchführen und auch so bennenen. Bei der Navi werd ich dann ein fiktives plus von 20Watt einrechnen. Die Genauigkeit muss nicht perfekt sein. Es geht mir viel mehr um einen Richtungsvergleich in Sachen Effizienz, sprich wieviel UV prozentual bringen könnte.
 
Bei der Navi werd ich dann ein fiktives plus von 20Watt einrechnen.

Wenn tatsächlich die Spannungswandlerverluste in den Sensordaten von AMD Karten enthalten sind, dann ist der Rest ja relativ konstant. Ob die Lüfter jetzt mit 40% oder 70% drehen, dürfte am Ende des Tages vielleicht 1-2% vom Gesamtverbrauch ausmachen. Wenn du einen Offset von 30 Watt draufpackst für eine Navi Karte hast du einen guten Richtungsvergleich meiner bescheidenen Meinung nach.
 
  • Danke
Reaktionen: def
@Igor THG Über welche Größenordnungen sprechen wir denn hier? Angenommen, du misst einmal die mittlere Leistungsaufnahme mit 250ms und einmal mit 1ms. In welchem Bereich variiert das? Das muss ja schon bei über 5% liegen, damit man überaupt anfangen kann zu meckern!?
Selbst eine ms ist bei diesen Sensoren eigentlich schon zu hoch. Wobei man jetzt trennen muss. Das, was man vom Sensor bekommt, ist eine Momentaufnahme, kein wirklicher Durchschnittswert. Trifft man zufällig in den Intervallen immer nur auf Extreme in einer Richtung hin, kann das extrem aweichen und man weiß nie, wie. Da sind wir schon im zweistelligen Prozentbereich. Was bekommt man denn? Nvidia nutzt Monitoring-Chips, um die 12V-Rails zu überwachen. Aus dem Spannungsabfall an den Shunts erreichnet die Firmware die jeweiligen Samples. Allerdings sind das keine wirklich Durchschnittswerte, weil dort eh nichts synchronisiert wird. Man setzt hier meist auf Momentwerte, weil es zur Einhaltung der Power Limits dient und kein Average abbildet. Das pasiert in der Firmware und kann nicht real-time ausgelesen werden.

@def
Die 20 Watt für Navi sind grundfalsch und das weißt Du sicher auch. Ich halte das echt für eine Irreführung, sorry. Denn die Gläubigkeit der Anwender in solche Tools ist erschreckend. Damit wirst Du die ganzen Diskussionen nur noch anfeuern anstelle zu klären. Allein die Lüfter können bis zu 16 Watt vernaschen, wenn sie mal voll drehen, im Schnitt sind es aber meist zwischen 7 und 10 Watt bei Last. Den Speicher und das restliche Gebammel zu schätzen ist sehr grob möglich - aber nur anhand von Modellklassen.

Und dann ist das, was als GPU-Power ausgelesen wird, u.U. auch sehr zweideutig. Hat man echte Smart Power Stages und somit eine saubere MOSFET DCR, mag das für VDDCR_GFX noch recht genau und zeitnah hinkommen. Einfachere Boards setzen aber nur auf Inductor DCR, also eine Kalkulation der Ströme über den (auch sehr temperaturabhängigen) induktiven Widerstand der Glättungsspulen. Allein deren Toleranzbereiche bei der Induktivität sind mir ein Graus. Und Du bekommst nur den Wert für VDDCR_GFX, der SoC bleibt außen vor, VDDCI auch (hier geht auch ein Teil für den Memory-Controller drüber), MVDD kannst Du nur schätzen, VPP ist zu vernachlässigen, aber die restlichen Teilspannungen summieren sich auch auf ein paar Watt. Das ist NIE konstant. Ich habe all diese Diskussionen mit TPU hinter mir und es ist nur folgerichtig, dass sie dort solche Spielereien wie pauschale Schätzungen generell ablehnen. Auf vielen Karten sind noch ARM-Chips drauf (aRGB Steuerung, M-BIOS), ggf. eine individuelle Lüftersteuerung und sonstige Verbraucher.

1589179283920.png


Der Nvidia-Wert stimmt auch nicht ganz - hier sind es im Mittel um die 2-5%, je nachdem, ob Boardhersteller tricksen. Nicht nur MSI kann mit gewissen Kniffen locker 280 Watt nuckeln lassen, auch wenn die Firmware eigentlich ein Limit von 250 Watt setzt. Das sind, rechne selbst, über 10% Differenz, die das Tool leider verschweigt.

Wenn man sich auf dieses sehr dünne Eis begibt, sollten die Werte auch stimmen. Mit Demoskopie kommt man leider nicht weit, so schön das auch wäre :)
 
Zuletzt bearbeitet:
@def
Die 20 Watt für Navi sind grundfalsch und das weißt Du sicher auch. Ich halte das echt für eine Irreführung, sorry. Denn die Gläubigkeit der Anwender in solche Tools ist erschreckend. Damit wirst Du die ganzen Diskussionen nur noch anfeuern anstelle zu klären. Allein die Lüfter können bis zu 16 Watt vernaschen, wenn sie mal voll drehen, im Schnitt sind es aber meist zwischen 7 und 10 Watt bei Last. Den Speicher und das restliche Gebammel zu schätzen ist sehr grob möglich - aber nur anhand von Modellklassen.

So genau weiß ich das tatsächlich nicht. Ich befass mich erst seit kurzem mit Navi und hatte schon deinen UV Artikel dazu gelesen auf deiner Seite.
Du meinst also ich sollte es komplett lassen? Wie machen es denn andere Hardwareseiten? Ernst gemeinte Frage..
Weil irgendwo her müssen die Verbrauchswerte ja kommen in den Reviews, oder sind die alle nur fiktiv?
 
Die meisten haben angefangen, selbst zu messen. Ein Baumarkt-Amperemeter samt Multimeter sind da meist schon genauer als solche Sensor-Loops. Oder sie rechnen immer noch mit der Steckdose rum. Ich kenne trotz allem nur eine Handvoll Seiten, deren Messungen ich wirklich Glauben schenken kann ;)

Eine normale Riser-Karte mit Abgriff kostet ca. 15 USD, die Module mit den Shunts für eine Strom-/Spannungsmessung bekommt man sogar bei Ali-Express für ein paar lausige USD oder bei Tinkerforge in DE für einige Euros. Dazu ein Master-Brick und man ist bei reichlich 150 Euro für einigermaßen belastbare Werte.

1589180893039.png


Nimmt man allerdings alle Rails + Motherboard, ist man schnell über 1000 Euro.

1589180846186.png


Wozu also so viel Mühe in etwas verschwenden, was in Software allein eh nicht geht (aktuell)? :)

Man kann sich so ein Messystem, Grundkenntnisse vorausgesetzt, in weniger als einem Tag selbst hinstellen. Ich verstehe allerdings nicht, warum das so wenige Redaktionen wirklich machen. Bezahlbar und beim Schwierigkeitsgrad echt auch für Nicht-Techniker geeignet, solange man Plus und Minus auseinanderhalten kann ;)
 
@Igor THG Interessant wären ja jetzt Vergleichswerte. Wie groß sind denn die Fehler im Vergleich zu den Softwarewerten? Wie verhält es sich mit der Streuung?
 
Habe ich doch eigentlich gerade beantwortet. Wir sind da stellenweise schon zweistellig. Je niedriger die Leistungsaufnahme, umso fragwürdiger sind irgendwelche Festwerte als Quasi-Korrektiv.

Genau deswegen habe ich diese Sensor-Loops in meiner eigenen Software NICHT mehr implementiert. Ich habe den eigenen Interpreter ja bereits seit fast drei Jahren in Nutzung und ständiger Weiterentwicklung - ich machs jetzt über Timestamps und die Oszi-Werte oder alternativ über den oben sichtaren Messaufbau samt Timestamps aus dem Netzwerk in Echtzeit. Das eigentlich Ärgerliche ist ja, dass man nie weiß, wo die Abweichung gerade liegt. Selbst diese Module oben Zicken ab einer Millisekunde und es kommt ab und an Quark raus. Deshalb nutze ich generell, auch bei den Oszis, noch einen intelligenten Tiefpassfilter.

1589182834323.png
 
Zuletzt bearbeitet:
Was, nur so wenig Analyse Metriken hast du? Hier, in CX mit einem Klick ausgewählt... :devilish:
1589183285589.png


Mal Spaß beiseite. Ich glaube dir ja, dass die "physikalischen" Messungen mit deinem Equipment besser sind. Aber letztlich fehlt mir bei deinen Aussagen Fleisch am Knochen. Wenn ich deine Aussage über Nvidia Karten lese, dann sind die Abweichungen ja geradezu niedlich.

Selbst wenn es am Ende 10% sind, ist das kein Weltuntergang, um einigermaßen gute Richtungsaussagen machen zu können. Kommt halt auch drauf an, wie streng man ist mit der Fehlertoleranz.

Ich bin an konkreten Werten interessiert. Lass uns doch mal einen Vergleich machen. Wir nehmen uns beide eine 2080 Ti und einen integrierten Benchmark mit gleichen Settings und und dann vergleichen wir mal.

Ich bereite gerade mal was mit Far Cry 5 vor...
 
Zuletzt bearbeitet:
Das ist nur eine kleine Ansicht des Clienten, traust Du mir echt so wenig zu? :LOL:

Metriken.jpg
 
Zuletzt bearbeitet:
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh