So, habe es jetzt mal auf dem Win98 Rechner getestet (AMD 1,2 GHz, 256MB RAM, NVidia GForce 2 MX 200)
da sind es 44 / 18 Frames... Geht noch...
Aber mal ne andere Frage.
Ist das überhaupt der richtige Weg den ganzen Kram bei jeden Frame neu zu zeichnen? Die meisten Karten liegen im späteren Spiel still auf dem Tisch. Wäre es nicht effizienter, wenn man dann bei der Bewegung einer Karte (z.B. vom Stapel in die Hand) immer nur den Untergrund unter der animierten Karte rettet und nach einer Animations- bzw. Bewegungsequenz wieder restauriert?
Da hat doch die GraKa dann viel weniger zu tun.
Gruß Markus
Würdet Ihr einen FPS Test machen?
-
xperience2003
- Beiträge: 972
- Registriert: 04.10.2004 18:42
- Computerausstattung: Amiga, LinuxMint, Windows7
- Wohnort: gotha
- Kontaktdaten:
bei mir sinds auch durchgängig 52
..aber..naja..nen benchmark macht man mit 3d und das in speziellen modi oder mit highpolymodells
....und( hab mir den source nich angeguckt) das is sehr wenig für das bissel 2d-crap
..aber..naja..nen benchmark macht man mit 3d und das in speziellen modi oder mit highpolymodells
....und( hab mir den source nich angeguckt) das is sehr wenig für das bissel 2d-crap
amiga rulez...
Rebirth Software
Rebirth Software
-
Kaeru Gaman
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
> Ist das überhaupt der richtige Weg den ganzen Kram bei jeden Frame neu zu zeichnen?
eigentlich der einfachste, normal sollte das schneller sein.
> das is sehr wenig für das bissel 2d-crap
find ich auch.
hab mir auch den source noch nicht ausgiebig angeschaut (nur mal über die main drübergelesen)
ich schätze mal, dass du irgendwie hinderlichen code proggst,
also, z.b. die kartenbearbeitung in ner procedure, die jedesmal Start3D/Stop3D ausführt und da für jede karte einzeln.
am besten machst du ein einziges mal Start3D/Stop3D pro frame, und den ganzen 3D krempel dezwischen, und nur dazwischen was muss, und das ohne procs direkt in der hauptschleife. das ist deutlich schneller als das zuvor geschilderte.
eigentlich der einfachste, normal sollte das schneller sein.
> das is sehr wenig für das bissel 2d-crap
find ich auch.
hab mir auch den source noch nicht ausgiebig angeschaut (nur mal über die main drübergelesen)
ich schätze mal, dass du irgendwie hinderlichen code proggst,
also, z.b. die kartenbearbeitung in ner procedure, die jedesmal Start3D/Stop3D ausführt und da für jede karte einzeln.
am besten machst du ein einziges mal Start3D/Stop3D pro frame, und den ganzen 3D krempel dezwischen, und nur dazwischen was muss, und das ohne procs direkt in der hauptschleife. das ist deutlich schneller als das zuvor geschilderte.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
PB arbeiten mit 2 Grafikbuffern, die bei jedem FlipBuffer getauschtKurzer hat geschrieben:Aber mal ne andere Frage.
Ist das überhaupt der richtige Weg den ganzen Kram bei jeden Frame neu zu zeichnen? Die meisten Karten liegen im späteren Spiel still auf dem Tisch. Wäre es nicht effizienter, wenn man dann bei der Bewegung einer Karte (z.B. vom Stapel in die Hand) immer nur den Untergrund unter der animierten Karte rettet und nach einer Animations- bzw. Bewegungsequenz wieder restauriert?
Da hat doch die GraKa dann viel weniger zu tun.
werden. Die Grafikbfehle greifen immer auf den gerade nicht sichtbaren
Buffer zu. Das hat den Sinn, dass der Grafikbuffer nur dann sichtbar ist,
wenn dieser fertig gezeichnet wurde. Um also nun dein vorhaben zu
praktizieren müsstest du jede Änderung nicht nur auf dem aktuellen
Backbuffer zeichnen, sondern auch nach dem FlipBuffer nochmals, um mit
dem selben Ausgangsbuffer arbeiten zu können.
Das wäre ziemlich umständlich, und einen heutigen Standartrechner
machen die paar Sprite3D nichts aus
alles so wie es soll, und kannst dir sicher sein, das du kein Pixel
vergessen hast zu "restaurieren"
somit auch einfach zu praktizieren, da du nicht erst die alten
"Restaurationen" überarbeiten musst oder überhaupt drann denken
wink:
Du hast da jetzt ne ziemlich alte Grafikkarte ... 7 Jahre, immerhin kann
sie die Sprite3D-Grafiken anzeigen
Aber bei einem Kartenspiel ist eine FPS von 60 und mehr nicht notwendig,
10-20 sollten locker reichen, um die Animationen flüssig aussehn zu
lassen
wollt nur auf deine Frage eingehen
MFG PMV
Erstmal Danke an alle.
Im übrgens ist es wohl besser, wenn ihr Euch den code noch nicht angesehen habt.
Unter der Dusche (wo man ja bekanntlich die besten Ideen hat) ist mir dann aufgefallen, daß ich einen eklatanten Denkfehler gemacht habe.
Ich habe für alle 162 Karten des Spiels jeweils ein Sprite mitsamt Grafikkarten-Speicher reserviert. Das ist ziemlich blödsinnig, da das Spiel nur 13 verschiedene Karten + 1 Rückseite benutzt! Ich weiß auch nicht was mich da geritten hat.... Habe es aber noch nicht umgemodelt, hatte den ganzen Tag zu tun.
Ich denke aber, daß das der Grund war, warum z.B. der "zugestopfte" Win2K Rechner so derbe mit der FPS eingebrochen war. Ich gelobe Besserung.
Und ansonsten hast Du natürlich recht, man ist beim Neuzeichnen der gesamten Grafik auf der sicheren Seite und es wird auch einfacher vom handling.
Nochmals Danke für die Denkanstöße.
Gruß Markus
PS: Ich habe die Dateien jetzt wieder von meinem Webspace gelöscht... nicht wundern.
Im übrgens ist es wohl besser, wenn ihr Euch den code noch nicht angesehen habt.
Unter der Dusche (wo man ja bekanntlich die besten Ideen hat) ist mir dann aufgefallen, daß ich einen eklatanten Denkfehler gemacht habe.
Ich habe für alle 162 Karten des Spiels jeweils ein Sprite mitsamt Grafikkarten-Speicher reserviert. Das ist ziemlich blödsinnig, da das Spiel nur 13 verschiedene Karten + 1 Rückseite benutzt! Ich weiß auch nicht was mich da geritten hat.... Habe es aber noch nicht umgemodelt, hatte den ganzen Tag zu tun.
Ich denke aber, daß das der Grund war, warum z.B. der "zugestopfte" Win2K Rechner so derbe mit der FPS eingebrochen war. Ich gelobe Besserung.
PMV, vielen Dank für Deine Ausführungen. Ich will mal sehen, wie hoch die FPS bei nur 14 Sprites ist (statt 162).PMV hat geschrieben:PB arbeiten mit 2 Grafikbuffern, die bei jedem FlipBuffer getauschtKurzer hat geschrieben:Aber mal ne andere Frage.
Ist das überhaupt der richtige Weg den ganzen Kram bei jeden Frame neu zu zeichnen? Die meisten Karten liegen im späteren Spiel still auf dem Tisch. Wäre es nicht effizienter, wenn man dann bei der Bewegung einer Karte (z.B. vom Stapel in die Hand) immer nur den Untergrund unter der animierten Karte rettet und nach einer Animations- bzw. Bewegungsequenz wieder restauriert?
Da hat doch die GraKa dann viel weniger zu tun.
werden. Die Grafikbfehle greifen immer auf den gerade nicht sichtbaren
Buffer zu. Das hat den Sinn, dass der Grafikbuffer nur dann sichtbar ist,...
Und ansonsten hast Du natürlich recht, man ist beim Neuzeichnen der gesamten Grafik auf der sicheren Seite und es wird auch einfacher vom handling.
Nochmals Danke für die Denkanstöße.
Gruß Markus
PS: Ich habe die Dateien jetzt wieder von meinem Webspace gelöscht... nicht wundern.
"Never run a changing system!" | "Unterhalten sich zwei Alleinunterhalter... Paradox, oder?"
PB 6.12 x64, OS: Win 11 24H2 x64, Desktopscaling: 150%, CPU: I7 12700 H, RAM: 32 GB, GPU: Intel(R) Iris(R) Xe Graphics | NVIDIA GeForce RTX 3070
Useralter in 2025: 57 Jahre.
PB 6.12 x64, OS: Win 11 24H2 x64, Desktopscaling: 150%, CPU: I7 12700 H, RAM: 32 GB, GPU: Intel(R) Iris(R) Xe Graphics | NVIDIA GeForce RTX 3070
Useralter in 2025: 57 Jahre.