Code Optimieren

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Blitzard

Betreff: Code Optimieren

BeitragMo, Jan 02, 2006 16:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo miteinander.

Also ich bin grad dabei einen kleinen SpaceShooter zu Proggen.
Jedoch geht bei jedem Start des Spiels die CPU auslastung auf 100% Mit nem Atlon64 3500+ ^^. Laughing Laughing Laughing

Also kennt ihr nicht irgen ein Programm mit dem Amnn den Code optimieren kann .

Danke im Vorraus

simi

BeitragMo, Jan 02, 2006 16:33
Antworten mit Zitat
Benutzer-Profile anzeigen
das ist bei allen BB-Programmen so.....

liegt nicht an deinem code Wink

Blitzard

BeitragMo, Jan 02, 2006 16:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Ohh ^^
Naja wenn des so is .

Danke Simi

hectic

Sieger des IS Talentwettbewerb 2006

BeitragMo, Jan 02, 2006 16:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Was nicht bedeutet das dein Rechner bereits an den Leistungsgrenzen angekommen sein muß. BB-Programme machen ganz gerne mal eine sehr hohe Prozesorauslastung. Du kannst diese wesentlich veringern wenn du in die Hauptschleife ein Delay einsetzt. Das dieser Befehl aber nicht zu empfehlen ist, muß ich doch nicht noch extra erklären. Solltest du mal ein Programm schreiben, wo kaum Rechenzeit benötigt wird (beispiel mp3-Player) und du dein Rechner nicht auslasten möchtest, dann kannst du auch mit gutem Gewissen ein Delay einsetzen.

Hast du dein Programm als Vollbild oder im Fenstermodus?

Blitzard

BeitragMo, Jan 02, 2006 16:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Vollbild Modus

Ich hab aber auch Ziemlich viele For/Next Schleifen drin.
Hab probier die zu verringern aber dann gabs immer fehler

Hubsi

BeitragMo, Jan 02, 2006 16:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Das liegt nicht (nur) am Code Very Happy Blitz hat die Angewohnheit den Prozessor immer auf Vollgas zu halten. Eine Möglichkeit das zu umgehen ist Delay. Und bevor hier das große Gekrächze losgeht, von wegen Delay sei böse und was weiß ich noch alles, eine kleine Funktion aus meinem persönlichen Codearchiv:BlitzBasic: [AUSKLAPPEN]
Function WaitTimer(frames,time)
wait=1000/frames-time
If wait>0 Delay wait
Return wait
End Function
Als Übergabe erwartet die Funktion die gewünschte Framerate (60 oder was auch immer für das Spiel passt) und die Zeit in Millisekunden die die Hauptschleife zum durchrattern braucht. Beispielsweise so:BlitzBasic: [AUSKLAPPEN]
Repeat
msecs=MilliSecs() ; Der Wert ist sicher auch im Spiel verwertbar :D
; Code blabla

Flip 0
WaitTimer(60,MilliSecs()-msecs)
Until KeyHit(1)
Das senkt die CPU-Last auf einen viel angenehmeren Wert Smile

Edit: Da sind mir aber einige zuvorgekommen Very Happy
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...
 

Chris02

BeitragMo, Jan 02, 2006 16:43
Antworten mit Zitat
Benutzer-Profile anzeigen
machs mit BlitzBasic: [AUSKLAPPEN]
CreateTimer
undBlitzBasic: [AUSKLAPPEN]
 WaitTimer

Blitzard

BeitragMo, Jan 02, 2006 16:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Hubsi mal wieder einfach genial rechner läuft jetzt bei ca. 40 % Auslastung

THX Laughing Laughing Laughing

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group