Prozessor Überlastung und Zentriertes Bild

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Hellfront

Betreff: Prozessor Überlastung und Zentriertes Bild

BeitragMo, Okt 31, 2005 22:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi @ all hätte so 2 fragen:

bei mir verwendet ein BlitzPlus Programm immer 100% des Prozessors, allerdings auch bei solchen Programmen die total einfach sind wobei der PC auch recht stabil bleibt und kaum an Geschwindigkeit einbüßt. Warum und kann ich das unterbinden?

2) immer wenn ich ein Programm welches Grafik used in einem zentriertem Fenster starte stürzt mein PC fasst ab. Warum?
PS: An den treibern oder so kanns nicht liegn

thx tobba

Hip Teen

BeitragMo, Okt 31, 2005 22:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Zu Frage 1: Benutze WaitEvent
Zu Frage 2: poste am besten Code Wink
Spruch der Woche: "Ahh, ein neues Gesicht?!" - "Nein, das hab ich schon länger"

Hellfront

BeitragDi, Nov 01, 2005 0:01
Antworten mit Zitat
Benutzer-Profile anzeigen
was bringt denn waitevent in diesem Fall. Übrigens dass ich Blitzplus verwende heißt nicht dass ich die GUI verwende (hab ich noch nie weil ich die dämlich find)

2) passiert immer wenn ich :
z.B: graphics 640,480,32,2
Auflösung und Farbiefe egal

Hip Teen

BeitragDi, Nov 01, 2005 0:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Waitevent bringt, dass es keine 100% Prozessor Auslastung hat... und du brauchst auch keine GUI verwenden für Waitevent....

zum 2. Problem: ich glaub nicht, dass es an dem Graphics Befehl hängt. Wenn doch, scheint es ein Treiber Problem zu sein. Oder ein DirectX Problem Wink
Spruch der Woche: "Ahh, ein neues Gesicht?!" - "Nein, das hab ich schon länger"

Hellfront

BeitragDi, Nov 01, 2005 1:00
Antworten mit Zitat
Benutzer-Profile anzeigen
ist schon klar was waitevent soll aba:
wo nutz ich das und wie funzt dat so genau? Glaub ich nicht dass es an den treibern ligt und DirectX hab ich auch das neueste.
 

Buddah

BeitragDi, Nov 01, 2005 1:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Was Hip Teen mit wait event meint ist einfach ein kleines delay in deine
programm hauptschleife einzubauen. Hier mal grob als beispiel.
Im prinzip kannst du so ein wait event überall da einbauen wo du keine
volle rechen power brauchst und interaktion möchtest.. z.b. abfragen von
GUI krams oder so... wo du den speed brauchst würd ich BB aber auch den
speed geben und demnach das delay wieder rausnehmen.
Das Delay(10) ist hier nur beispielhaft .. ein Delay(1) sollte auch reichen..
bei mir hat sich aber irgendwie Delay(10) eingebürgert Smile


Repeat

HierDeinCode

Delay(10)
Until bla
Alles ist gut so wie es ist und bald wird alles anders.

Hip Teen

BeitragDi, Nov 01, 2005 2:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Buddah, was redest du von Delay? Delay sollte man meiden wo man kann. Also praktisch überall... Mit WaitEvent mein ich übrigens den Befehl WaitEvent Wink

Und wo du Waitevent benutzt? Na, in der Hauptschleife. Schau dir einfach mal die Befehle dazu an. Am besten noch nen Timer benutzen und schon läuft das Programm mit deutlich weniger CPU Last.

Zu dem Speed Problem: Ein umfangreicherer Code könnte helfen.... nur Graphics sagt nicht viel Wink
Spruch der Woche: "Ahh, ein neues Gesicht?!" - "Nein, das hab ich schon länger"
 

Buddah

BeitragDi, Nov 01, 2005 7:44
Antworten mit Zitat
Benutzer-Profile anzeigen
najo.. waitevent hat dann wohl nur blitz plus Smile
was ich nicht benutze.. un irgendwie klingt waitevent
so doof das ich dachte es sei eine umschreibung.
Übrigends hilft dieses delay(10) extremst gut.. ich benutz
das immer in nicht laufzeit kritischen programm teilen
um diese 100% auslastung zu vermeiden. Merken tut man
davon nix .. außer an der CPU auslastungs anzeige Razz
Alles ist gut so wie es ist und bald wird alles anders.

Hubsi

BeitragDi, Nov 01, 2005 10:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Vorweg ist vielleicht noch zu sagen das für Spiele das Frameunabhängige Programmieren der beste Weg ist. Etwas einfacher ist diese Methode CPU-Last zu sparen und dennoch auf allen Rechnern die gleiche Geschwindigkeit* zu erreichen:BlitzBasic: [AUSKLAPPEN]
Repeat ; Haupschleife
msecs=MilliSecs()
; code blabla

WaitTimer(60,MilliSecs()-msecs)
Until KeyHit(1)

Function WaitTimer(frames,time)
wait=1000/frames-time
If wait>0 Delay wait
Return wait
End Function


*Die Geschwindigkeit des Programms kann natürlich nur dann gleich sein wenn der Rechner die angegebene Framezahl auch schaffen kann. In aller Regel sollte das aber kein Problem darstellen Very Happy
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group