[SOLVED] CPU-Auslastung reduzieren

Übersicht BlitzBasic Allgemein

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

 

Compix

Betreff: [SOLVED] CPU-Auslastung reduzieren

BeitragDi, Jan 25, 2011 22:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo Wink
Ich habe meinen CODE heute zu einer .exe gemacht und sobald ich diesen nun starte, ist meine CPU-Auslastung SEHR HOCH!

Gibt es allgemeine Tipps um soetwas zu umgehen Smile ?
Und malwieder:
https://www.blitzforum.de/uplo...?show=2327 <- mein CODE

PS: Ich habe noch nicht alle Tipps die ich bisher erhalten habe umgesetzt, die Auslastung kann also auch vielleicht daran liegen das ich dies noch nicht habe Smile [Was ich unter Tipps verstehe: Siehe meine anderen x Threads Very Happy]

Mit freundlichen Grü0en
  • Zuletzt bearbeitet von Compix am So, Jan 30, 2011 1:08, insgesamt einmal bearbeitet

Xeres

Moderator

BeitragDi, Jan 25, 2011 22:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Arrow Hurra, 100 % Auslastung
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

blackgecko

BeitragMi, Jan 26, 2011 17:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Du kannst deine Codes übrigens auch direkt in deine Beiträge schreiben, denn im Codepasting-Bereich werden sie nach einer Woche oder so wieder gelöscht.
Schreib dafür
Code: [AUSKLAPPEN]
[code]Code hierher[/code]
oder noch besser
Code: [AUSKLAPPEN]
[syntax="bb"]Code hierher[/syntax]
So long and thanks for all the fish.
Fedora 17 | Windows 7 || BlitzPlus | BlitzMax
Rechtschreibflame GO!!! Deppenapostroph | SeidSeit | Deppenakzent | DassDas | Deppenleerzeichen | TodTot | enzigste.info - Ja, ich sammel die.

Midimaster

BeitragDo, Jan 27, 2011 10:45
Antworten mit Zitat
Benutzer-Profile anzeigen
hier eine ganz schnelle Möglichkeit, die Erfolg bringen könnte:

Der Befehl...

Delay 5

...gibt die Kontrolle an das Betriebssystem zurück. Dadurch kommt Dein Programm nur noch alle 5msec zum Zug, also 200x pro Sekunde...Das sollte für das was der Code macht immer noch ausreichend sein. Probiers mal und berichte mir.

Aber auch ein Delay 1 kann noch viel bringen. Teste es.

Füge es an diese Stelle im Code ein:

Code: [AUSKLAPPEN]
....
Dim request$ (9999, 499, 5)
While Not KeyHit(1)
    Delay 5
    server_got = RecvUDPMsg(server)
    ....

Xeres

Moderator

BeitragDo, Jan 27, 2011 11:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
...gibt die Kontrolle an das Betriebssystem zurück.
Siehe obigen Link...
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

Ana

BeitragDo, Jan 27, 2011 11:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Tut Delay das? Ich dachte es checkt dann ununterbrochen ob die 5 Millisekunden vorbei sind?
Ist da nicht eher ein Timer und ein flip 0 das Mittel der Wahl?
Don't only practice your art,
but force your way into its secrets,
for it and knowledge
can raise human to divine

TimBo

BeitragDo, Jan 27, 2011 14:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Delay ist das übelste , was es gibt !!!

BlitzBasic: [AUSKLAPPEN]
Local Timer = CreateTimer(60)


Repeat


Flip(0):Cls
WaitTimer timer
Until KeyHit(1)


hab das eben schnell ausm Kopf abgeschrieben. Rechtschreibfehler könnten drin sein.
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31
hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht.

Dottakopf

BeitragDo, Jan 27, 2011 14:25
Antworten mit Zitat
Benutzer-Profile anzeigen
leute.. wie könnt ihr nur empfehlen CPU Last durch den befehl Delay zu verringern ??
Das ist doch Projekttechnisch überhaupt nicht anwendbar...

Meistens hilft ein einfacher Timer in verbindung mit Flip 0. Siehe vorpost.

also wirklich Rolling Eyes
Rechtschreibfehler gelten der allgemeinen Belustigung!
 

Rocys

BeitragDo, Jan 27, 2011 23:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Kann mir das mal jemand erklären, warum delay so böse sein soll?
BlitzBasic: [AUSKLAPPEN]

timer=CreateTimer(60)
Repeat
WaitTimer timer
Until KeyDown(1)

hat bei mir ziemlich genau die gleiche CPU-Auslastung wie
BlitzBasic: [AUSKLAPPEN]

Repeat
Delay 17
Until KeyDown(1)
  • Zuletzt bearbeitet von Rocys am Do, Jan 27, 2011 23:50, insgesamt 2-mal bearbeitet
 

Sterbendes Lüftlein

BeitragDo, Jan 27, 2011 23:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Text entfernt

TimBo

BeitragDo, Jan 27, 2011 23:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
timer=createtimer(60)
repeat
waittimer timer (!!)
until keydown(1)
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31
hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht.
 

Rocys

BeitragDo, Jan 27, 2011 23:52
Antworten mit Zitat
Benutzer-Profile anzeigen
TimBo hat Folgendes geschrieben:
Zitat:
timer=createtimer(60)
repeat
waittimer timer (!!)
until keydown(1)

Ups... habs geändert
Ich verstehe aber immer noch nicht, was den timer besser als delay macht.
 

Sterbendes Lüftlein

BeitragDo, Jan 27, 2011 23:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Text entfernt
 

Rocys

BeitragDo, Jan 27, 2011 23:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich glaube, mit der Enlosschleife täuschst du dich. Probiere doch mal meine Codes aus, die verursachen die gleiche Last.

TimBo

BeitragDo, Jan 27, 2011 23:56
Antworten mit Zitat
Benutzer-Profile anzeigen
du hast Recht Totensturm. Wink
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31
hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht.

Xeres

Moderator

BeitragDo, Jan 27, 2011 23:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Rocys hat Folgendes geschrieben:
Kann mir das mal jemand erklären, warum delay so böse sein soll?

Ja...
Xeres hat Folgendes geschrieben:
Xeres hat Folgendes geschrieben:Siehe obigen Link...


Delay wartet... immer. Wenn du Delay(5) reinhaust und Konstant 60 FPS erwartest, bleiben dir nur 11 ms zum rechnen... Wenn du volle 17 ms per Frame rechnen musst, wartest du trotzdem noch 5 Millisekunden extra.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)
 

Rocys

BeitragFr, Jan 28, 2011 0:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Klar, das macht Sinn. Timer ist so gesehen natürlich einfacher und sicherer. Nichtsdestotrotz gibt delay CPU-Kapazitäten frei (siehe: http://blitzbasic.com/b3ddocs/...ref=2d_a-z).
Und wenn ich sicher stellen will, dass mein Programm die CPU nicht kocht, sondern lieber ein kleines Ruckeln in Kauf nehme, macht ja so etwas wie delay 5 vor waittimer schon Sinn, oder?

Hubsi

BeitragFr, Jan 28, 2011 0:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Immer noch nicht Very Happy Ein Timer gibt ja auch die CPU frei (in Verbindung mit einem Flip 0, das fehlt in Deinem Test). Zudem sorgt er aber dafür das Dein Spiel auf einem High-End-PC genauso schnell läuft wie auf einer Krücke. Mit Delay erreichst Du niemals eine konstante Framerate.
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

FireballFlame

BeitragFr, Jan 28, 2011 5:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Hubsi hat Folgendes geschrieben:
Mit Delay erreichst Du niemals eine konstante Framerate.

Das hör ich immer wieder und habs noch nie verstanden. Bin ich der einzige, der Millisecs kennt? Ich habe früher in meinen B3D-Projekten immer Delay mit einem vorher ausgerechneten Wert benutzt und hatte immer eine konstante Framerate und niedrige Auslastung Wink
PC: Intel Core i7 @ 4x2.93GHz | 6 GB RAM | Nvidia GeForce GT 440 | Desktop 2x1280x1024px | Windows 7 Professional 64bit
Laptop: Intel Core i7 @ 4x2.00GHz | 8 GB RAM | Nvidia GeForce GT 540M | Desktop 1366x768px | Windows 7 Home Premium 64bit

BladeRunner

Moderator

BeitragFr, Jan 28, 2011 7:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, FBF, und das ging exakt auf einem System gut: Deinem. Sobald ein Rechner deutliche Abweichungen in der Leistung hat wird das Delay den schwächeren Rechner noch zusätzlich zu Boden reissen.
Oder im Falle von Lastspitzen versagt auch eine dynamische Anpassung des Delays völlig. Zudem bedeutet das dynamische Anpassen Mehrarbeit die mit dem simplen Timer nicht notwendig ist.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group