PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Realistische Benchmarks?


LoneRider
2004-08-09, 17:18:10
Hallo zusammen,

ich hab grad mit jemandem im Snoboard ein paar Ideen ausgetauscht, wie man Benchmarkberechnungen realistischer und unempfindlicher gegenüber Ausreißern machen könnte. Dabei fiel mir eine Software ins Auge, die bei jedem 3D- Spiel Frames/sec erkennen und vor allem auch mitloggen kann (Textdatei). Mit diesen Daten wäre es dann kein Problem, Ausreißer zu bereinigen, wie sie z.B. bei Autosaves oder Nachladen von bestimmten Daten vorkommen können.

Diese Ausreißer rauszunehmen wäre meiner Meinung nach sinnvoll, da sie in keinster Weise etwas mit der reinen Grafikperformance der Karte zu tun haben, sondern eben mit anderen Unterbrechungen / Störungen.

Natürlich, wenn diese Werte zu oft vorkommen, können Sie nicht mehr als "Ausreißer" betrachtet werden, wenn aber ein Wert unter 2-3% vorkommt, so denke ich wäre das möglich.

Nun habe ich mir überlegt, mich mal an ein entsprechendes Progrämmchen ranzusetzen, was verschiedene Berechnungsmöglichkeiten auf einen Blick ermöglicht, so z.B.:

Normale Avg-FPS
"Bereinigte" Avg FPS
Min FPS
Max FPS
Zeit unter 25 FPS in % der Gesamtzeit
Anzahl der Einbrüche unter 25 FPS
Avg.- Dauer der EInbrüche unter 25 FPS
...

Meine Frage an Euch: was wäre eine geeignete Heuristik? Einfach die unteren X% rauswerfen wäre vermutlich zu einfach. Bestimmte Werte rauswerfen, die unter X% vorkommen und einen Abstand von mindestens Y% Abstand zum Mittelwert haben, wäre eine weitere Möglichkeit. Es gäbe so viel...

Habe gehört es gab hier schonmal eine ähnliche Diskussion, leider hab ich die mit der Suche nicht gefunden...

Wäre also dankbar wenn ihr mir sagen könntet, was für Berechnungen sinnvoll wären (oder ihr gerne drin hättet, abgesehen von alle FPS aufsummiert oder son quark :) )

mfg
Lone / Markus

saaya
2004-08-09, 17:34:28
also willst du ein verbessertes fraps schreiben?

LoneRider
2004-08-09, 17:39:11
bislang eher nur ein Addon für das moreBench3D, das die Logfiles analysiert und entsprechend auswertet. Im Tool einfach nur Logfile wählen und GO klicken, das Teil parst das dann, zieht sich die benötigten Werte raus und macht die Berechnungen.
Vielleicht sogar erweiterbar, das man eigene Berechnungen hinzufügen kann, mal schaun wieviel Zeit ich hab :)

Das Fraps mussich mir mal anschauen ob das auch loggen kann, habs net da.
Mit dem moreBench würds gehen.

edit: hab Fraps grad mal probiert.
Ist zwar mehr einstellbar, aber wenn man die FPS mitloggen lassen möchte, scheint er jede Sekunde in die Datei zu schreiben - Performanceeinbußen. Das moreBench merkt sich das im Memory und speichert erst bei Beendigung des Tests - daher weniger Performanceeinbrüche.

dav133
2004-08-10, 00:07:57
bislang eher nur ein Addon für das moreBench3D, das die Logfiles analysiert und entsprechend auswertet. Im Tool einfach nur Logfile wählen und GO klicken, das Teil parst das dann, zieht sich die benötigten Werte raus und macht die Berechnungen.
Vielleicht sogar erweiterbar, das man eigene Berechnungen hinzufügen kann, mal schaun wieviel Zeit ich hab :)

Das Fraps mussich mir mal anschauen ob das auch loggen kann, habs net da.
Mit dem moreBench würds gehen.

edit: hab Fraps grad mal probiert.
Ist zwar mehr einstellbar, aber wenn man die FPS mitloggen lassen möchte, scheint er jede Sekunde in die Datei zu schreiben - Performanceeinbußen. Das moreBench merkt sich das im Memory und speichert erst bei Beendigung des Tests - daher weniger Performanceeinbrüche.


Erstmal willkommen im 3dc ;)

Wie willst du herausfinden, was du bereinigen willst? Von der einen auf die andere Sekunde können andere Shader etc. zum einsatz kommen und die Framerare bricht ein. Warum das bereinigen? Im Normalfall sollte doch alles mit der Performance auf einem gut konfiguriertem System stimmen, Einbrüche unvorhergesehener Art sollte es blos dank falscher Bioseinstellungen etc.geben.

LoneRider
2004-08-10, 01:03:20
danke für den Willkommensgruß :)

kleines Beispiel, ich hab bei mir mal c&c generals, das Menü (die Schlacht auf dem Marktplatz) laufen lassen. In dem Moment wo ich die Maus bewege und das eigentliche Menü erscheint, gibt es ein Stocken, und zwar egal auf welchem der Systeme ich das hier teste. Dort bricht die FPS für milisekunden auf 5 ein (Ausgabe von moreBench). Trotzdem wird sowas als min. FPS angezeigt. Ok, Generals im Hauptmenü ist da nun ein unwichtiges Beispiel, aber es verdeutlicht was ich meine. bei FarCry geschieht es z.B. bei Autosave- Sequenzen.

Wir waren in Snoboard Forum darauf gekommen, weil ich bei benchmarks immer eher auf die minFPS als auf die Avg-FPS achte, da die ja das unangenehme ausmachen (Ruckler). Nur kommt dies eben oftmals auch nur bei z.B. Nachladesequenzen oder Autosave oder sowas vor - für Benchmarks die auch die minFPS anzeigen eher uninteressant, da es nur an festen Punkten und nur sehr selten vorkommt und dementsprechend keinerlei "Bewertungskriterium" darstellen sollte - wenn aber ein User liest, die Karten schaffen nur 5 min-FPS, so sieht das ziemlich sch... lecht aus, da es das Bild deutlich verzerrt...

Wenn es sich dabei um einen Shader-Wechsel oder ähnliches handelt, so wird es nicht auf einmal einen Einbruch von z.B. 25 auf 5 FPS für millisekunden geben, sondern ab dann eher eine kontinuierliche Verschlechterung, die dann wiederum nicht herausgefiltert würde (da es eine längere Zeit betrifft). Das wäre halt die Frage, da einen Algorithmus zu finden der nichts relevantes rauswirft.

mfg

dav133
2004-08-10, 01:06:47
OK, jetzt hab ichs verstanden.

Frage: Mit welcher Programmiersprache? Delphi, VB, C++ ?

Dürfte ein Haufen Arbeit werden, du musst den Durchschnitt prüfen, dann den unteren Durchschnitt nach bsonderen EInbrüchen abchecken und dann noch unter den Einbrüchen checken ob sie dauerhaft sind.

Das schaffste blos wenn de dich verdammt gut auskennst ;)

LoneRider
2004-08-10, 01:26:31
Programmiersprache wäre c++, und es gibt bestimmte statistische Mittel die einen Teil der Arbeit automatisch machen (meine Freundin studiert unter anderem sowas). Wäre ein aufwendiger Check, das stimmt - es müsste schon die allgemeine meinung herrschen, das so etwas sinnvoll ist, sonst würds sich nicht lohnen :)

dav133
2004-08-10, 01:30:20
Programmiersprache wäre c++, und es gibt bestimmte statistische Mittel die einen Teil der Arbeit automatisch machen (meine Freundin studiert unter anderem sowas). Wäre ein aufwendiger Check, das stimmt - es müsste schon die allgemeine meinung herrschen, das so etwas sinnvoll ist, sonst würds sich nicht lohnen :)


Klar ist es sinnvoll, aber ein kurzer Einbruch über ein paar ms zieht den Durchschnitt kaum runter sondern bringt es eben nur für die korrekten "min fps".

Die anderen Funktionen des Tools sind imo wesentlich interessanter.

Also dann mach mal, bin gerne dein Betatester ;)

ICh könnte mich auch mit vb6 dran versuchen, aber das ist mir eigentlich zu aufwändig ;)

LoneRider
2004-08-10, 02:14:39
Die Frage ist: was sollte als andere Funktionen noch alles rein? Mit ner Grafiklibrary wäre es kein Problem, direkt Verlaufskurven generieren zu lassen oder sowas...

Was sollte alles rein?

dav133
2004-08-10, 10:25:39
Normale Avg-FPS
"Bereinigte" Avg FPS
Min FPS
Bereinigte Min FPS
Max FPS
Zeit unter 25 FPS in % der Gesamtzeit
Bereinigte Zeit unter 25 FPS in % an der Gesamtzeit
Anzahl der Einbrüche unter 25 FPS
Avg.- Dauer der Einbrüche unter 25 FPS

Dann hielt ich noch ein Graph für Rambelegung interessant, dass man sehen kann, ob man zB mit 512MB wiklich schon am Ende ist etc.

Aber von den FPS her wäre doch dann alles geregelt. Ich werd' mir trotzdem nochn paar Gedanken mehr machen, aber an sich isses doch so schon recht nützlich.

MikBach
2004-08-11, 10:48:33
Hallo Markus,

ich weiss nicht, ob ein Bereinigen undbedingt nötig ist. Wenn mann z.B. 5 oder 10% der langsamsten Frames abfängt werden die Ausreisser zwar mitprotokoliert, aber das ist doch "Real life". :wink:
Die Benchsequenz muss halt lang genug sein, um verwertbare Werte zu liefern.
Wenn Speicher oder anderes limitiert, tut es beim spielen auch.
Ein Problem sehe ich auch darin, dass die Benchsequenzen unterschiedlich lang sein können. Deswegen habe ich "5 oder 10%" geschrieben.
Mit dem Bereinigen würde man sich doch extrem viel Zusatzarbeit machen, welche ich nicht unbedingt als nötig ansehe.

Ich finde diese Funktion muss endlich in den Benchtools eingebaut werden, den "min Framerate", wo nur ein Wert gewertet wird, ist doch für die Katz und sagt gar nichts aus.

Die Zeit unter 25 FPS in % der Gesamtzeit finde ich auch sehr sinnvoll, sollte auch mit rein.

Max fps kann man sich schenken, wofür soll das gut sein?

MfG MikBach

dav133
2004-08-11, 11:14:47
Hallo Markus,

ich weiss nicht, ob ein Bereinigen undbedingt nötig ist. Wenn mann z.B. 5 oder 10% der langsamsten Frames abfängt werden die Ausreisser zwar mitprotokoliert, aber das ist doch "Real life". :wink:
Die Benchsequenz muss halt lang genug sein, um verwertbare Werte zu liefern.
Wenn Speicher oder anderes limitiert, tut es beim spielen auch.
Ein Probleme sehe ich auch darin, dass die Benchsequenzen unterschiedlich lang sein können. Deswegen habe ich "5 oder 10%" geschrieben.
Mit dem Bereinigen würde man sich doch extrem viel Zusatzarbeit machen, welche ich nicht unbedingt als nötig ansehe.

Ich finde diese Funtion muss endlich in den Benchtools eingebaut werden, den "min Framerate", wo nur ein Wert gewertet wird, ist doch für die Katz und sagt gar nichts aus.

Die Zeit unter 25 FPS in % der Gesamtzeit finde ich auch sehr sinnvoll, sollte auch mit rein.

Max fps kann man sich schenken, wofür soll das gut sein?

MfG MikBach


Markus?

Und es ist nunmal so, dass speziell in (synthetischen) Benchmarks allerelei unvorhergesehener Einbrüche von statten gehen, was iim "RealLife" eben nicht so oft vorkommt.
Dafür hat das Programm ja noch sehr viele andere Funktionen und durchaus seine Daseinsberechtigung.

MikBach
2004-08-11, 11:33:47
Markus?
Ja, LoneRider heisst im Real-life Markus, und ich habe mit ihm im SnoBoard diskutiert.

Und es ist nunmal so, dass speziell in (synthetischen) Benchmarks allerelei unvorhergesehener Einbrüche von statten gehen, was iim "RealLife" eben nicht so oft vorkommt.

Wir reden aber von Spiele-Benchmarks!
Syntetische Benchmarks interessieren mich so, wie wenn in China jemand vom Rad fällt. :smile:

dav133
2004-08-11, 11:42:50
Wir reden aber von Spiele-Benchmarks!
Syntetische Benchmarks interessieren mich so, wie in China jemand vom Rad fällt. :smile:

Ach soooooo!

1)Ihr wollt also ganz tolle walkthrougs machen, indem ihr durch ein Level rennt und eine bestimmte Schrittfolge einhaltet oder was?

2)Ich dachte, ihr wolltet systhetischen Benches etwas mehr Pepp durch genauere Darstellung verleihen?!?

3)Oder wollt ihr Demos mittels "D3D Bench" aufzeichnen und abspielen?

4)Oder wollt ihr einfach nur Spielen und ein paar Infos erhalten?

Benchmarkprogramm kann man es nur nennen, wenn ihr variante 2) oder 3) verwendet.

Aber ich versteh momentan nur
http://www.videoproduktionen.ch/desktop/bahnhof-800.jpg

sry ;(

MikBach
2004-08-11, 12:14:15
Ach soooooo!

1)Ihr wollt also ganz tolle walkthrougs machen, indem ihr durch ein Level rennt und eine bestimmte Schrittfolge einhaltet oder was?

2)Ich dachte, ihr wolltet systhetischen Benches etwas mehr Pepp durch genauere Darstellung verleihen?!?

3)Oder wollt ihr Demos mittels "D3D Bench" aufzeichnen und abspielen?

4)Oder wollt ihr einfach nur Spielen und ein paar Infos erhalten?

Benchmarkprogramm kann man es nur nennen, wenn ihr variante 2) oder 3) verwendet.

Du verstehst uns nicht ganz. :wink:

Wir wollen ein Add-On zu MoreBench3D schreiben. Es soll ja universell einsetzbar sein. Ist jetzt egal, ob man das auf eine "Timedemo" im Spiel anwendet oder selbst Demos erstellt(Variante 3 bei dir).

@ 1) ROFL

Madkiller
2004-08-11, 15:50:35
Normale Avg-FPS
"Bereinigte" Avg FPS
Min FPS
Max FPS
Zeit unter 25 FPS in % der Gesamtzeit
Anzahl der Einbrüche unter 25 FPS
Avg.- Dauer der EInbrüche unter 25 FPS
...

Prinzipiell ist das sicher eine gute Idee und auch diese Punkte finde ich ziemlich sinnvoll.

Aber wie man jetzt die FPS-drops am besten rausfilter... hm... da kann ich euch wahrscheinlich nicht wirklich helfen.

Klar, manuell wäre das ein leichtes, alle Werte die nicht zu den Geschehnissen passen, rauszufiltern..
Aber automatisch?
Da ist jeder Bench anders, und in manchen gehören extrem FPS-drops einfach dazu.
Was mir jetzt so in den Sinn kommen würde, wäre evlt, daß man die Werte rausnimmt, die ca 25% unter den durchschnittlichen FPS sind.
Die sollten "normal" raus gefiltert werden können.

zeckensack
2004-08-11, 16:00:48
Hi, Markus. Willkommen im Forum =)Diese Ausreißer rauszunehmen wäre meiner Meinung nach sinnvoll, da sie in keinster Weise etwas mit der reinen Grafikperformance der Karte zu tun haben, sondern eben mit anderen Unterbrechungen / Störungen.Einerseits richtig, andererseits können solche "Zuckler" auch durch die Grafikkarte respektive den Treiber erst verursacht werden. ZB Tribes 1 mit einem *hust* nicht ganz so weit verbreiteten Renderer *hust* läuft auf Geforce-Karten prinzipell extrem stotterig ab, aber selbst auf der Gurken-Radeon 9200 absolut smooth. Würde man die ganzen Ruckler aus den Messdaten eliminieren, hätte man etwas weggenommen, was eben doch die "Schuld" der Graka/Treiber-Kombination ist.

IMO sollte man einfach dafür sorgen, dass während dem Messvorgang keine selbsverschuldete Festplattenaktivität auftritt. Also reichleich Speicher einbauen, und eben nicht laden/speichern/level wechseln.
Natürlich, wenn diese Werte zu oft vorkommen, können Sie nicht mehr als "Ausreißer" betrachtet werden, wenn aber ein Wert unter 2-3% vorkommt, so denke ich wäre das möglich.Wäre mir zu kompliziert :)
Meine Frage an Euch: was wäre eine geeignete Heuristik? Einfach die unteren X% rauswerfen wäre vermutlich zu einfach. Bestimmte Werte rauswerfen, die unter X% vorkommen und einen Abstand von mindestens Y% Abstand zum Mittelwert haben, wäre eine weitere Möglichkeit. Es gäbe so viel...Bilde eine Varianz. Für jeden Wert der Messreihe f(x) rechnest du g(x)=f(x)/f(x-1) (Sonderbehandlung für x=0: g(x)=1.0).

Dann wirf alles weg, was unter 0,2 liegt. Dh Einbrüche auf ein Fünftel von einem Frame auf den nächsten werden eliminiert. Das ganze ist relativ robust. Wenn ein Einbruch mal exakt zwei Frames dauert, wird er nur "halb" ausgebügelt, wenn er allerdings 20 Frames dauert, dann ist es höchstwahrscheinlich kein Stotterer, sondern ein starker Lastwechsel (neue, viel komplexere Szene). Davon wird nur das erste Frame weggeworfen, und die Ergebnisse nur geringfügig verfälscht.
Habe gehört es gab hier schonmal eine ähnliche Diskussion, leider hab ich die mit der Suche nicht gefunden...Womöglich meinst du das hier (http://www.forum-3dcenter.org/vbulletin/showthread.php?t=14524).

€dit: mein DeltaChrome-Review (http://www.forum-3dcenter.org/vbulletin/showthread.php?threadid=148546) beinhaltet meine eigene Lieblingsmethode: Extremsituation suchen und als Standbild benchen. Hat den Nachteil dass es keine Stotterer durch Lastwechsel erfassen kann. Sowas sollte man IMO immer separat beobachten und ggf einfach dazuschreiben.

Mr. Lolman
2004-08-11, 16:15:40
Die Idee mit dem Herausfiltern könnte man insofern fortführen als dass:

Genau differenziert werden soll, ob die Maschine 512MB RAM oder 1GB hat, und dass die Möglichkeit des Herausfilterns nur auf 512MB RAM Systemen gegeben sein soll. Und die Filterfunktion ansich sollte nur zeigen, dass bestimmte Ruckler mit genügend RAM nicht mehr auftreten.

Das Problem dabei ist natürlich, dass es für ein Externes Tool, m.E. unmöglich ist, zu Erkennen, ob die Ruckler auf die Speicherausstattung zurückzuführen sind, oder ob sie eine andere Ursache haben. Dies könnte man allerhöchstens abschätzen (auf einer 1GB Maschine immer wieder Gegenchecks mit 512MB machen, bis das gefilterte 512MB Ergebnis so ziemlich den Werten einer 1GB Maschine entspricht.) Dies wär zumindest praktisch für Leute die nicht wissen, ob sich ein Speicher Aufrüsten bei ihrem System lohnen würde. Wenn irgendwann mal 1GB Standard sind, kan man ja das Tool updaten.

Zusätzlich wär es noch ganz praktisch eine Testanimation einzubauen, z.B. ein sich kontinuirlich drehender Würfel, der z.B. alle 5 sec. relativ schnell vom linken zum rechten Bildschrimrand wandert (um Kameraschwenks zu simulieren) und der User hätte die Möglichkeit die angezeigten fps so lange zu verringern, bis er die Animation gerade noch für flüssig empfindet. (ist ja individuell unterschiedlich)
Dieser Wert stellt dann die min fps dar, und die Asuwertung am Ende könnte dann z.B. so lauten:


Das Spiel läuft zu 85% flüssig auf ihrem Rechner. (3 Einbrüche unter 23fps, 1 wahrscheinlich nachladebedinger Einbruch auf 7 fps) Mit mehr RAM könnten sie das Spiel mit den von ihnen gewählten Einstellungen zu geschätzten 90% flüssig spielen.

Durch das Trial and Error Verfahren könnte man auch eine Auflistung erstellen, zu wieviel Prozent das Spiel flüssig laufe muss, damit es auch Spass macht. Bspw:

<50% : zum Vergessen
50-60%: maximal für Adventrues ausreichend
60-70%: spielbar, irritierende Ruckler sind jedoch mehrfach vorhanden
70-80%: für den Durchschnittsspieler ok.
80-90%: kaum noch fps Einbrüche, fast ideal
>90%: maximaler Spielspass

MikBach
2004-08-11, 16:36:52
Danke erstmal für eure Anregungen :smile:

Meine Frage:

Ist es denn unbedingt nötig da etwas rauszufiltern?
Kann man nicht einfach eine bestimmte Prozentzahl der langsamsten Frames nehmen und davon den Mittelwert bilden?
Man hätte dann doch die realen "min fps", oder sagen wir besser "low fps".

MikBach
2004-08-11, 17:43:52
Einerseits richtig, andererseits können solche "Zuckler" auch durch die Grafikkarte respektive den Treiber erst verursacht werden. ZB Tribes 1 mit einem *hust* nicht ganz so weit verbreiteten Renderer *hust* läuft auf Geforce-Karten prinzipell extrem stotterig ab, aber selbst auf der Gurken-Radeon 9200 absolut smooth. Würde man die ganzen Ruckler aus den Messdaten eliminieren, hätte man etwas weggenommen, was eben doch die "Schuld" der Graka/Treiber-Kombination ist.

IMO sollte man einfach dafür sorgen, dass während dem Messvorgang keine selbsverschuldete Festplattenaktivität auftritt. Also reichleich Speicher einbauen, und eben nicht laden/speichern/level wechseln.


Das ist der Punkt. IMO nix rausfiltern, höchstens ein paar Frames, sollte deutlich unter 1% liegen, sonst läuft man Gefahr relevante Frames zu killen.
Die Demo muss natürlich auch eine bestimmte Länge haben, unter 1 min geht da nichts, sonst werden die Werte verfälscht.

Wie viel Prozent sollte man da für die "low fps" nehmen? 5% oder 10%

ShadowXX
2004-08-11, 23:12:24
Das ist der Punkt. IMO nix rausfiltern, höchstens ein paar Frames, sollte deutlich unter 1% liegen, sonst läuft man Gefahr relevante Frames zu killen.
Die Demo muss natürlich auch eine bestimmte Länge haben, unter 1 min geht da nichts, sonst werden die Werte verfälscht.

Wie viel Prozent sollte man da für die "low fps" nehmen? 5% oder 10%

Gute Idee...Benchmarks (bzw. die Auswertung von Daten aus solchen) sollten sich auch meiner Meinung nach mal mehr um die min. FPS als immer nur um die max. FPS kümmern.

Die bisher vorgeschlagenen Auswertungspunkte finde ich auch sehr gut und momentan fällt mir auch nichts weiters ein.

Vielleicht noch ein, zwei Zusatzvorschläge:
1. Man sollte sich nicht stur auf die 25FPS als magische Grenze feststetzen. Es wäre besser dem User die möglichkeit zu geben diese "Schwelle" selbst festzusetzen.
(Wir wissen doch alle, das es genug gibt, denen 25 als min. FPS nicht genügt.)
(Und es wäre nur ein Tausch Konstante gegen Variable...also nix weltbewegendes.)

2. zeckensacks Formel zum Rausfiltern ist nicht schlecht....man könnte ja sonst auch 2 Methoden zum "Messen" einbauen...eure und die von zeckensack.

3. Es sollten auch möglich sein, die Daten noch etwas detailierter aufzubereiten. (z.B. die Betrachtung eines bestimmten Zeitabschnitts innerhalb des Timedemos/Bench, man kann dann, wenn dazu die Zeit mit angegeben wird, nochmal im Spiel die genaue stelle näher betrachten um vielleicht besser sehen zu könne worans vielleicht liegt)

4. Grafische Aufbreitung sollte unbedingt dabeisein.

Achja...rausfiltern würde ich auch nichts...man will ja einen realitätsbezogenen Bench...und im RL ruckelts eben auch mal wegen der HDD.
(Und gehört deshalb zum Spielen dazu...auch eine schlechte/fragmentierte HDD kann einen Spielerechner langsamer machen)

Und wenn man schon rausfiltern will, dann sollte man auch hier den User die Möglichkeit der Beeinflussung geben.

Er soll einfach selbst eine Zeit bzw. Frameanzahl als Schwelle angeben unter der "gedroppt" wird. (bezogen auf den eingestellten min. FPS)

Man könnte für den "allgemeinen" Bench ja bestimmte Werte festlegen, damit man auch untereinander vergleichen kann. (aber der User hat eben trotzdem auch die Möglichkeit unter seinen eigenen Gesichtpunkten Auswerten lassen zu können.)

Viel Erfolg bei eurem Projekt (y)

L4gW4g0n
2004-08-12, 13:02:44
Hi

also erstmal vorweg ich hab mir nicht alles durchgelesen, da ich grad nicht viel ziet habe... :wink:

aber ich glaube ihr wollt so etwas machen wie es z.B. in SeriousSam SE schon gibt :biggrin:
finde ich auch eine sehr sinnvolle anzeige der Werte! Also in der Praxis spuck SSSE dann sowas hier aus:

Ursprüngl. aufgezeichnet: 10423 Frames in 112.1 Sekunden => 93.0 FPS durchschnittl.
Ohne Ausnahme-Spitzenwerte: 10148 Frames in 106.3 Sekunden => 95.5 FPS durchschnittl.
Höchstwert: 217.6 FPS
Tiefstwert: 57.1 FPS
Hochmittel: 146.0 FPS (28 Frames in 0.2 Sekunden)
Tiefmittel: 63.3 FPS (36 Frames in 0.6 Sekunden)

LoneRider
2004-08-12, 13:21:21
Hi mal wieder,

also ich hock grad an der Winapi- Anwendung dran. Probiere n bisserl rum mit Daten vernünftig aufbereiten und so. MoreBench bietet zum Glück die Logfile- Daten sehr gut an, das man die einfach einlesen kann.

Grafische Aufbereitung wäre natürlich gut, ob das in der ersten Version schon drin sein wird bezweifel ich, da das ein erheblicher Mehraufwand ist - aber ich merks mir auf jeden Fall :)

Was sich mit Sicherheit recht einfach machen ließe ist das direkte Vergleichen mehrerer Benchmark-Logs.

Leider ist mein letztes c/c++ programmieren ein paar Jahre her (die letzten jahre nur PHP), daher gehts nicht ganz so schnell voran wie es könnte :)

mfg

LoneRider
2004-08-12, 20:16:13
Ok, hier nun die erste offizielle Version:

http://web19.bsce.de/moreBenchAddon/moreBenchAddon_0.0.5.exe

Ist mit der Autorenversion von VisualC++ gemacht worden, daher eigentlich kein Weitervertrieb... :)

Was man braucht: moreBenchLX in Version 4.18 (andere nicht getestet, wenns Logfile das gleiche Format hat gehts auch)

Dann einfach Benchmark laufen lassen mit Logfile erstellung (wie das geht steht im Handbuch von moreBenchLX), danach mein Tool starten, Logfile auswählen und los gehts.

Was schon drin ist (Version 0.0.5)
Standard:
Startzeit und Endzeit des Benchmarks relativ zum Start des Prozesses
Länge des Benchmarkteils
maxFPS, minFPS, avgFPS

Zusätzlich:
Einstellbare "Critical FPS" Grenze
ANzahl EInbrüche unter diese Grenze
Durchschnittliche Dauer eines Einbruch
Gesamtzeit unter der Kritischen Grenze
% unter der kritischen Grenze

Was noch kommen soll:
edit: was noch rein MUSS ist ein recalc Button, wenn man Werte für Critical FPS ändert, damit man die Datei nicht neu laden braucht
Design :) irgendwann wenn ich dafür Zeit hab :)
avg lowFPS, durchschnitt der unteren X Prozent (einstellbar)
avg highFPS, durchschnitt der oberen Y Prozent (einstellbar)
iiiirrrrrrrrgendwann ggf n Grapf der den FPS Verlauf anzeigt
Aufräumen und Bugs suchen
Hinweise und Danksagungen
Erklärung / eingebettetes "Handbuch"
ggf Vergleichsmöglichkeit mehrerer Benchmarks.


Spielt ruhig schonmal damit rum.

Achja: mein erste WinApi- Programm überhaupt, und mein erstes c/c++- Programm seit 4 Jahren - habt also bitte Nachsicht :)

mfg
Markus

edit: Habs grad mal mit 3DMark 03 getestet, mit folgendem Ergebnis:

3dmark Logfile - Demo mode - Luftkampf (http://web19.bsce.de/moreBenchAddon/3DMark03-00.txt)

http://web19.bsce.de/moreBenchAddon/moreBenchScreen001.JPG

Wie das zu deuten ist:
24,4 Sekunden nach Starten von 3dmark hab ich das Benchmarking gestertet
266,9 sekunden nach dem Starten von 3dmark hab ich das Benchmarking beendet
Gesamtlänge 242 sekunden

FPS sollte klar sein

es gab 6 Einbrüche unter 30 FPS
Im Schnitt war jeder EInbruch 1,86 sekunden Lang
4,6% der Gesamtzeit war unter der kritischen Grenze
das Entspricht 11,12 Sekunden zeit.

LoneRider
2004-08-13, 03:00:23
Update: Version 0.0.6 ist da, mit lowFPS und highFPS.

Hab grad mal ne provisorische HP gebaut für Infos und Downloads:
http://web19.bsce.de/moreBenchAddon/index.php

Viel Spass damit

LoneRider
2004-08-13, 18:59:14
update auf 0.0.7, die ein paar Fehler behebt.
z.B. falls man eine Datei zu laden versucht, die NICHT mit moreBENCH LX erstellt worden ist.
Oder wenn man die Criticals Rate so einstellt, das es keine Criticals gibt - die Felder werden in den alten Versionen nicht richtig aktualisiert.

MikBach
2004-08-14, 16:17:56
Eine graphische Aufbereitung ist in Arbeit. :smile:

aths
2004-08-15, 14:28:07
€dit: mein DeltaChrome-Review (http://www.forum-3dcenter.org/vbulletin/showthread.php?threadid=148546) beinhaltet meine eigene Lieblingsmethode: Extremsituation suchen und als Standbild benchen. Hat den Nachteil dass es keine Stotterer durch Lastwechsel erfassen kann. Sowas sollte man IMO immer separat beobachten und ggf einfach dazuschreiben.Genau: Stotterer etc sollte man am besten durch eigenhändiges spielen ausmachen. Wenn man bencht, könnte man neben avg fps noch die Varianz (bzw. Standardabweichung), und ggf. den Median angeben. Ansonsten kann man sich noch so ausgefuchste "Nachbehandlung" ausdenken: In einer Zahl (z. B. fps-Durchschnitt, ob nun nachbearbeitet oder nicht) lässt sich eben nur eine Information wiedergeben.

Das "Spielgefühl" lässt sich gleich gar nicht messen – nicht jedes Spiel braucht 60 fps, um gut spielbar zu sein. Außerdem gibt es auch eine Geschwindigkeit, die dann nix mehr bringt. In solchen Niedriglastszenen wird dann aber im Durchschnittswert die "gefühlte" Gesamtleistung geschönt.

LoneRider
2004-08-15, 14:49:19
ich überlege grade daran rum wie ich einen graph einbaue, der dann den gesammten Verlauf des Abschnittes zeigt, und farblich markiert die "Kritische Grenze", die ja schon implementiert ist. Damit man "sehen" kann wann und wo es die kritischen Einbrüche gab, und das nicht nur als Zahlen angegeben hat.

Wie gesagt, da bin ich dran :)

Varianz, Standardabweichung und so geht auch, aber das sagt nur Leuten was, die statistisch bewandert sind - der Rest dürfte gar nicht wissen was das alles ist.

misterh
2004-08-15, 15:12:02
@LoneRider

Wollte mit XGI Volari V8 Duo testen. aber geht nicht

Also wollte ich MoreBenchLX installieren, dann kommt diese meldung.

"No supported graphic card found"

Nun?

MikBach
2004-08-15, 15:25:08
@LoneRider

Wollte mit XGI Volari V8 Duo testen. aber geht nicht

Also wollte ich MoreBenchLX installieren, dann kommt diese meldung.

"No supported graphic card found"

Nun?
misterh. MoreBenchLX ist nur für Nvidia- und ATI-Karten geeignet. Schade eigentlich.

misterh
2004-08-15, 15:30:28
aber sie können auch für XGI unterschützen?

MikBach
2004-08-15, 15:46:10
aber sie können auch für XGI unterschützen?
Weiss jetzt nicht genau wie du das meinst.
moreBENCH LX kann es nicht, Markus ist für das Add-On, welches auf moreBENCH LX aufsetzt, verantwortlich. Auf moreBENCH LX haben wir ja keinen Einfluss.

Was meinst du eigentlich mit "sie"?

misterh
2004-08-15, 15:48:07
Ersteller des MoreBenchLX

Habe deren Forum schon gepostet

LoneRider
2004-08-15, 18:04:24
bin ich mal gespannt ob die reagieren :)

Kannst du mal testen ob FRAPS funktioniert?
Vielleicht schreib ich ne Importfunktion für FRAPS- Logfiles - wobei FRAPS ziemlich unperformant ist, da jede Sekunde ins Logfile geschrieben wird.

Aber FRAPS läuft glaub ich auch unter openGL - mal schauen.

misterh
2004-08-15, 18:16:06
bin ich mal gespannt ob die reagieren :)

Kannst du mal testen ob FRAPS funktioniert?
Vielleicht schreib ich ne Importfunktion für FRAPS- Logfiles - wobei FRAPS ziemlich unperformant ist, da jede Sekunde ins Logfile geschrieben wird.

Aber FRAPS läuft glaub ich auch unter openGL - mal schauen.

Fraps funktioniert. Damit mache ich auch Bilder.

LoneRider
2004-08-15, 18:52:13
ok. Kannst mal n Logfile erstellen und hier im Forum anhängen?

Dann schau ich mal ob ich da n Import- Filter hinkriege. Leider speichert Fraps wesentlich weniger Informationen als moreBENCH LX, nämlich nur die FPS- Zahl, und auch nur einmal pro Sekunde. Aber probieren kann ichs ja mal :)

mfg

misterh
2004-08-15, 19:01:43
wenn ich F11 drücke, damit dann los geht und zum schluss nochmal F11

so kommt dann als ergebnis raus

2004-08-15 18:53:59 - CS1.6
Frames: 2303 - Time: 23122ms - Avg: 99.602 - Min: 93 - Max: 101

In spiel auf 100 begrenzt.

LoneRider
2004-08-16, 00:59:53
unter FPS kannst du noch einstellen "Save frame rate to file each second", damit hast du eine zwar detaillierte, aber sehr performancefressende Aufzeichnung. Aber nur sowas ließe sich natürlich mit dem TOol nutzen.
Da sie meiner Meinung nach zu viele Ressourcen frisst wäre es aber hinterher irrelevant... leider

LoneRider
2004-09-17, 00:18:16
Lange lange ists her, doch ich meld mich nochmal.

Version 0.1.0 ist nun fertig, erstmals mit grafischer Auswertung. Allerdings noch in schwarz-weiss. Was ich noch realisieren werde: Färbung der Abschnitte, die unter die kritische Marke gehen in rot, diese die über der kritischen Marke liegen in grün.

Des weiteren soll man später mal einstellen können, in welchem FPS- Bereich die grafische ANzeige sein soll, so kann man z.B. Bilder erzeugen, die immer auf 200 FPS normiert sind, damit die Bilder direkt unter einander vergleichbar sind. Ach und als BMP abspeichern können soll man die auch, aber das ist alles Zukunftsmusik.

Irgend jemand noch ne meinung dazu?

mfg

MikBach
2004-09-17, 19:34:37
Lange lange ists her, doch ich meld mich nochmal.

Version 0.1.0 ist nun fertig, erstmals mit grafischer Auswertung. Allerdings noch in schwarz-weiss. Was ich noch realisieren werde: Färbung der Abschnitte, die unter die kritische Marke gehen in rot, diese die über der kritischen Marke liegen in grün.

Des weiteren soll man später mal einstellen können, in welchem FPS- Bereich die grafische ANzeige sein soll, so kann man z.B. Bilder erzeugen, die immer auf 200 FPS normiert sind, damit die Bilder direkt unter einander vergleichbar sind. Ach und als BMP abspeichern können soll man die auch, aber das ist alles Zukunftsmusik.

Irgend jemand noch ne meinung dazu?

mfg

Hi, ich werde versuchen die neue Version am WE zu testen. Ich werde auch versuchen die 5950Ultra gegen meine 9800PRO antreten zu lassen, allerdings hat der Typ mit der Geforce einen schnelleren Rechner, aber mit den entsprechenden Einstellungen dürfte es kein Problem sein eine CPU-Limitierung auszuschliessen.
Leider ist weder ein NV40 noch ein R420 in meiner Reichweite. Die meisten sind mit der derzeitigen Karte noch zufrieden.

MfG Michael

LoneRider
2004-09-17, 21:23:44
So, Version 0.1.1 nun auf der Homepage

http://web19.bsce.de/moreBenchAddon/

Neuerungen: der Graph ist eingefärbt und die Achsen beschriftet.