Seite 2 von 5

Verfasst: 07.03.2005 16:40
von Lebostein
Ich werds mal heute Abend auf meinem 350MHz Rechner testen. Bin ja gespannt.

Ein Tipp: Benutzt du für die FPS-Anzeige StartDrawing(): DrawText(): Stopdrawing()? Wenn ja dann hast du an dieser Stelle eine Geschwindigkeitsbremse eingebaut. Auf meinem alten Rechner merk ich das extrem. Sobald irgendwo ein Startdrawing() kommt und dann vielleicht sogar noch ein DrawText() dann gehen die FPS in den Keller. Da reicht schon ein einziges DrawText(). Erstell dir mal nen kleinen Bitmap-Font für z.B. nur Zahlen und gib damit die FPS aus oder zeichne die FPS alle 10 Sekunden in ein Array auf und speicher das Array beim Beenden in eine Datei. Du wirst einen deutlichen Anstieg der FPS bemerken, sobald du alle StartDrawings() und 2DDrawing-Befehle rausgeschmissen hast...

---------------------------
PS: Hab grade nochmal das Verhalten der 2DDrawing()-Befehle auf einem schnellen Rechner an einem einfachen Beispiel mit dem Darstellen von ein paar Sprites getestet:

Ohne 2DDrawing-Befehle:
520 FPS

Ein einfaches StartDrawing(ScreenOutput()): StopDrawing() in die Hauptschleife eingefügt:
430 FPS!!

Zusätzlich ein DrawText("x") dazwischen eingefügt:
345 FPS!!!!

Es ist echt Wahnsinn, was diese Drawing-Befehle für Geschwindigkeitbremsen sind!! Also Finger weg wenn es um die Performance geht! Von 520 auf 345 FPS mit nur einer Zeile StartDrawing(ScreenOutput()): DrawText("x"): StopDrawing() ist enorm. Das ist ein Geschwindigkeitsverlust von 33%!!! Da muss man schon sehr viele Sprites mit "DisplayTransparentSprite()" auf den Bildschirm darstellen, um einen ähnlichen Geschwindigkeitseinbruch zu erreichen....

Verfasst: 07.03.2005 19:21
von SDX
@Lebostein: Hammer.... Gut, daß Du mir das sagst. An sowas, wie die Textausgabe habe ich ehrlich gesagt noch gar nicht gedacht. Und daß die SOO dermaßen bremmst, hätt ich nicht erwartet. Man lernt nie aus. Für das fertige Spiel werde ich bestimmt auch Textausgabe benötigen. Da sollte ich mir auf jeden Fall ne eigene Textausgabe-Engine auf Spritebasis machen.

Verfasst: 07.03.2005 21:41
von SDX
Hmmm... Ich hatte da standardmäßig noch ein "ClearScreen(0,0,0)" drin.
Hab ich jetzt draußen (Wird eh der ganze Screen mit Tiles überzeichnet) und bin jetzt von 294FPS auf 341 mit Textausgabe und ohne Textausgabe sogar auf 433FPS! :) Da stecken noch Reserven drin.
btw... Danke nochmal an Lebostein :allright:

Verfasst: 07.03.2005 21:56
von MVXA
Gib die Exe auf nochmal frei, dann werd ich es nochmal auf meinem System unf auf einem P1er testen.

Verfasst: 07.03.2005 22:25
von SDX
OK.... hier die überarbeitete Version. Es sollte jetzt schneller sein.

SpeedTest2.exe

Jetzt wird beim Beenden ein FPS.txt geschrieben... mit F12 kann man immer noch einen Screenshot machen.

Verfasst: 07.03.2005 22:42
von Fabio
Hmmm, seh das bild aber keine text/frame ausgabe :?

Verfasst: 07.03.2005 22:54
von SDX
@fabio: Textausgabe hab ich ganz rausgenommen, dafür wird im Verzeichnis, wo das Programm ist, eine Textdatei namens FPS.txt erstellt, in der eine Zahl steht... das sind die FPS.
Und btw, ich hab das Programm nochmal ein bißchen verändert und lasse die Sprites jetzt hin und her flitzen, damit man sieht, daß das Ding auch arbeitet... sehr faszinierend, 500 Kollisionsabfragen in eine Richtung scheinen so wenig Rechenzeit zu beanspruchen, daß bei mir die Frame-Rate nicht um einen Punkt gesunken ist :mrgreen:

Verfasst: 07.03.2005 22:55
von Laurin
@fabio:
Die FPS werden in einer Txt-Datei im Verzeichnis der Speedtest2.exe gespeichert. Muss mal guggn.

Win XP x64: 314 fps (Steigerung 33,6%)
Win XP Home: 344 fps (Steigerung 49,6%)

Merkwürdig. Wieso hat die Home Edition jetzt die x64 Edition überholt? :?


Greetz Laurin

Verfasst: 07.03.2005 22:58
von 125
öhms
wiso habt ihr so komplett andere werte`?
ich bekam mit speed test 1 49 und jetzt 87 ....
Hab ne Ati Radeon 9600 se und nen P4 2,8 GHZ.....
Wie kann das sein?

Verfasst: 07.03.2005 23:05
von SDX
@125: Ich hab ne 9600pro .. ist die 9600se SOOOOO viel langsamer? Das kann ich mir schon kaum vorstellen. Hast Du nen aktuellen Treiber drauf? Ich hab zwar nen 3GHz P4, aber sollte nicht den Unterschied machen.
Aber man sieht trotzdem, daß es schneller geworden ist :allright: