Verbesserung der Leistung

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
Ostblock_D
Beiträge: 7
Registriert: 06.07.2010 10:45

Verbesserung der Leistung

Beitrag von Ostblock_D »

Hallo miteinander,

ich bin ein Anfänger in PureBasic und hab mich an die Programmierung einer simplen Grafik 'Animation' gemacht.

Code: Alles auswählen

w = 512
h = 512

rot = 200
gruen = 200
blau = 200

If OpenWindow(0,0,0,w,h,"2D Drawing Beispiel",#PB_Window_SystemMenu | #PB_Window_ScreenCentered )
  
  CreateImage(0,w,h)
  StartDrawing(ImageOutput(0))
  Box(0,0,w,h,RGB(255,255,255))
  StopDrawing()
  
  Repeat
    StartDrawing(ImageOutput(0))
    Circle(w/2,h/2,h/2-100,$00FF00)
    Circle(w/2,h/2,h/2-105,$FF0000)
    FillArea(w/2,h/2,-1,RGB(rot,gruen,blau)) ; Ersetze -1 durch $00FF00 , und vergleiche das Ergebnis
    rot = rot - 20
    gruen = gruen - 20
    blau = blau - 20
    
    StopDrawing()
    SaveImage(0, Str(rot) + ".bmp")
    ImageGadget(0,0,0,w,h,ImageID(0))
    
  Until(rot < 20)
EndIf
Mein Ziel war es dass nach jedem Schleifendurchlauf das Ergebnis als Bmp gespeichert wird. Was mir ja auch soweit gelungen ist.
Nun zu meiner eigentlichen Frage. Kann ich dieses Program irgendwie beschleunigen bzw. lässt sich der Code verbessern? Wundere mich nämlich dass es bei mir ziemlich langsam läuft :o

Danke schonmal und viele Grüße
Daniel
Prozessor: Intel(R) Core(TM)2 Duo CPU mit je 2 GHz
4GB RAM
Grafikkarte: ATI Mobility Radeon HD 2400
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Verbesserung der Leistung

Beitrag von STARGÅTE »

was heißt langsam läuft ?

Zeitmessung ohne Debugger ergibt : 132 ms also 0,132 s
Das "langsamme" ist hier das erstellen der Bilder die immerhin zusammen 7,69MB groß sind.
Das schreiben auf die Festplatte läuft also hier mit ca 60MB/s ...
das ist "völlig normal".
Gute Festplatten kommen an 125 MB/s ran, ältere dagegen gerade mal üner 30MB/s
Quelle: Bild Festplattenlaufwerk - Geschwindigkeit
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Ostblock_D
Beiträge: 7
Registriert: 06.07.2010 10:45

Re: Verbesserung der Leistung

Beitrag von Ostblock_D »

ok, mein Fehler ... ich habe vom USB-Stick aus gestartet. Da dauert es schon ein paar sekunden :doh:
Gibt es bei PureBasic eine Option um Performance-Messungen zu machen???

Ist der Code ansonsten sinnvoll aufgebaut?
Prozessor: Intel(R) Core(TM)2 Duo CPU mit je 2 GHz
4GB RAM
Grafikkarte: ATI Mobility Radeon HD 2400
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Verbesserung der Leistung

Beitrag von Kiffi »

Ostblock_D hat geschrieben:Gibt es bei PureBasic eine Option um Performance-Messungen zu machen???
Debugger ausschalten (nicht mit DisableDebugger, sondern über Menüzeile Debugger/Use Debugger)

Code: Alles auswählen

Z1=ElapsedMilliseconds()
MeineProc()
Z2=ElapsedMilliseconds()

MessageRequester("Benötigte Zeit", Str(Z2-Z1) + " ms")
a²+b²=mc²
Antworten