Seite 1 von 2
Würdet Ihr einen FPS Test machen?
Verfasst: 02.06.2006 12:56
von Kurzer
Hallo,
würdet Ihr vielleicht mal einen Test machen.
Ich baue für mein geplantes Kartenspiel gerade das Grundgerüst für die Grafikerstellung und würde gern die Performance auf anderen Systemen erfahren.
Hier habe ich mal Source und Exe des Programmes hingelegt.
Nach dem Start öffenet es ein Window und zeichnet die Karten eines Spielers auf den Schirm. Rechts gibt es noch die CheckBoxen [Alle Karten] und [Hohe Qualität].
Das ganze sollte
so aussehen.
Alle Karten zeichnet zusätzlich 162 Karten auf das Window, Qualität ist für die Spritequalität zuständig.
Oben links ist die errechnet FPS zahl zu sehen -> genau die interessiert mich.
Ich hoffe, daß die Messung der FPS korrekt ist. Der entsprechende Code befindet sich in der Procedure Test() in der Includedatei "SkipBo-Grafik".
Würde mich über Rückmeldungen freuen... und auch über Hinweise, falls ich irgendwo nonsense oder umständlich gecodet haben sollte
Gruß Markus
[edit:] Achso nebenbei noch eine Frage: Irgendwie kann man ja einstellen, ob in die Exe DebuggerCode eingebunden werden soll oder nicht. Wo kann man das machen?
Verfasst: 02.06.2006 13:28
von Jilocasin
Sind die Angaben FPS oder SPF ?
Bei mir jedenfalls durchgehend "52"
Im Profil steht mein System.
Verfasst: 02.06.2006 13:34
von Kurzer
Jilocasin hat geschrieben:Sind die Angaben FPS oder SPF ?
Hmmm, komisch. Evtl. ist Deine Kiste ja "zu schnell" und er schlägt immer auf den Anschlag von SetFrameRate(50).
Ich messe in der Schleife, in der die Grafik aufgebaut wird, wie oft diese aufgerufen wird pro Sekunde.
Code: Alles auswählen
Procedure Test()
; anderes Grafikzeug
If Time = 0
Time = ElapsedMilliseconds()
EndIf
Frames + 1
If ElapsedMilliseconds() - Time => 1000 ; Nach Ablauf einer Sekunde...
FramesPerSecond = Frames
Time = 0 : Frames = 0
EndIf
StartDrawing(ScreenOutput())
DrawText(0, 0, "Frames:" + Str(FramesPerSecond))
StopDrawing()
FlipBuffers()
EndProcedure
Gruß Markus
Verfasst: 02.06.2006 13:37
von Jilocasin
Hab nur 3.3.Da gibts "ElapsedMilliseconds" nich.
Kannst du das gebrauchen...?
Code: Alles auswählen
...
FPS = GetTickCount_()-LastSeconds
LastSeconds = GetTickCount_()
...
Das kannst du dann...
Verfasst: 02.06.2006 14:21
von Kaeru Gaman
also, bei mir ohne alle karten 52, mit allen karten 49, egal ob high oder low qual...
hast du da irgendwie nen regler drin? (hab mir jetzt nicht den kompletten code durchgelesen)
aber wenn du irgendwo SetFrameRate(50) verwendest, kann auch nix anderes bei rauskommen..

Verfasst: 02.06.2006 14:31
von Kurzer
Kaeru Gaman hat geschrieben:also, bei mir ohne alle karten 52, mit allen karten 49, egal ob high oder low qual...
hast du da irgendwie nen regler drin? (hab mir jetzt nicht den kompletten code durchgelesen)
aber wenn du irgendwo SetFrameRate(50) verwendest, kann auch nix anderes bei rauskommen..

Ne, nen Regler habe ich nicht drin. Quality setzt nur die Sprite3DQuality(1/0).
Und eigentlich wollte ich SetFrameRate() auf die DesktopFrequnce setzen, aber das läuft unter Win2K wieder nicht.
Wie auch immer, wie man im Screenshoot im ersten post sehen kann, bricht die FPS bei mir auf 12 zusammen, wenn ich alle Karten anzeige (Win2K, ATI Rage 128 PRO, P4 1800 MHz, 512MB).
Gruß Markus
Verfasst: 02.06.2006 14:46
von Kaeru Gaman
> (Win2K, ATI Rage 128 PRO, P4 1800 MHz, 512MB).
mirabile, mirabile...
was für ne leistung hat diese Rage128 denn? das wird doch kaum 128MB bedeuten...
aber die müßte schon echt mies sein, wenn so ein einfaches proggi nen 1800er in die knie zwingt.
ist das bei dir nur der eine problemrechner?
vielleicht ist zusätzlich noch seine Prozessstruktur extrem zugekotet, schau man in die prozessleiste des TaskMan. wenn da wesentlich mehr als 30 drinstehen, solltest du mal checken, was unnützes läuft. ein halbwegs sauberes grundsystem kommt mit 20-25 prozessen aus...
(incl. 3-5x SVCHOST und Firewall)
Verfasst: 02.06.2006 15:08
von Kurzer
>> was für ne leistung hat diese Rage128 denn? das wird doch kaum 128MB bedeuten...
Das kann ich jetzt ad hoc nicht beantworten. Aber wird schon nix dolles sein, es ist ein "Office-Rechner".
>> aber die müßte schon echt mies sein, wenn so ein einfaches proggi nen 1800er in die knie zwingt.
(Ich kenne das ja nur vom Amiga her...) das sind ja dann knapp 180 Sprites (128x128), die bei jedem Frame neu gezeichnet werden müssen. Ist das in der "heutigen Zeit" (tm) wirklich eine einfache Aufgabe für einen PC?
>> ist das bei dir nur der eine problemrechner?
Am Win98 Rechner müsste ich heute Abend nochmal gucken...
Ich kann mich aber erinnern, daß das dort gut schnurrte (ca. 5 Jahre alte NVidia GraKa drin)
>> vielleicht ist zusätzlich noch seine Prozessstruktur extrem zugekotet, schau man in die prozessleiste des TaskMan. wenn da wesentlich mehr als 30 drinstehen, solltest du mal checken, was unnützes läuft. ein halbwegs
Ja, der ist gut "dicht". Lief 2 Tage durch und hat ca. 51 Prozesse am laufen... Ich kann nur momentan nicht neu booten.
Gruß Markus
Verfasst: 02.06.2006 15:24
von Jilocasin
Kurzer hat geschrieben:Das kann ich jetzt ad hoc nicht beantworten. Aber wird schon nix dolles sein, es ist ein "Office-Rechner".
Kann man nachgugge!
Kurzer hat geschrieben:das sind ja dann knapp 180 Sprites (128x128), die bei jedem Frame neu gezeichnet werden müssen. Ist das in der "heutigen Zeit" (tm) wirklich eine einfache Aufgabe für einen PC?
Für einen guten ja...
Verfasst: 02.06.2006 15:30
von Kurzer
>> Kann man nachgugge!
Stümmt..
Technische Daten des Rage 128 Pro
* Erschienen im April 1999
* 32-bit Auflösung bis zu 1920x1200 bei 85 Hz
* Bis 32 MB Videospeicher
* 32-Bit Rendering
* 32-Bit Z-Buffer
* Hardware Geometrie Setup
* 2 Rendering Units, Multi-Texturing
* Komprimierte Texturen
* Full-Scene Edge Anti-Aliasing
* Bump-Mapping
* Anisotropische Filterung
* Exzellente Videofeatures
* LCD Support bis 1600x1200
* DVD/MPEG-2 Support
* Video-Capturing und TV-Out
* OpenGL ICD
* AGP 4x/2x Support
* AMD 3Dnow! und Intel PIII Streaming SIMD Support