Computer überlastung mit 12 Zeilen Code?

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

klin

Betreff: Computer überlastung mit 12 Zeilen Code?

BeitragMo, Dez 21, 2009 16:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
ich wollte heute mal wieder eine neue billige methode herausfinden, wie man am schnellsten blur effekte erzielt. Doch als ich meinen skript ausführen wollte konnte ich nichts sehen außer wie das fenster ganz langsam ausging und mein Windows kaum noch reagierte. Ich kahm grade noch so in den Taskmanager und sah meine exe mit 0% CPU und 20k Ram. Das eigenartige war aber, als ich den Prozess beendete(dauerte paar sek.) ging wieder alles flüssig. Ich wiederholte das kompilieren ca. 5x und immer wieder war mein PC überlastet. Ich kann es mir nicht erklären wieso, aber hier ist der Code:
BlitzMax:
Graphics 800,600
Local img:TImage=LoadImage("cat_.bmp")
DrawImage img,0,0
SetBlend ALPHABLEND
SetAlpha 0.2
For i=1.001 To 1.020 Step 0.001

SetScale i,i
DrawImage img,0,0
Next
Flip
WaitKey


Das Image muss mindestens 640x480 groß sein. So wie dieses Bild das ich benuzt hatte:
http://91.194.84.103/bmax/cat_.bmp
Habe ich da was falsch gemacht? Weil normalerweise soll doch die Schleife 20x durch gehen. Aber wiederrum, wenn das Bild kleiner ist, wird der Computer nicht mehr so derbe überlastet.
Ich benutze übringens Windows 7.

THX
MFG
Klin

EDIT: Es geht nicht darum das da kein SuperStrict ist, sondern um die Überlastung! Neutral
  • Zuletzt bearbeitet von klin am Di, Dez 22, 2009 2:24, insgesamt einmal bearbeitet

mpmxyz

BeitragMo, Dez 21, 2009 16:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Ist "i" eine Floatvariable? Als Integervariable bleibt sie für immer auf dem Wert 1...
mfG
mpmxyz
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer
  • Zuletzt bearbeitet von mpmxyz am Mo, Dez 21, 2009 16:59, insgesamt einmal bearbeitet

Holzchopf

Meisterpacker

BeitragMo, Dez 21, 2009 16:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Du produzierst eine Endlosschleife (weil i Int ist), schreib einfach:
BlitzMax:
For Local i:Double=1.001 To 1.020 Step 0.001

und schon gehts.

Mit SuperStrict wäre dir das übrigens bestimmt nicht passiert Wink

mfG
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BYBinaryBorn - Yogurt ♫ (31.10.2018)
Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm

klin

BeitragMo, Dez 21, 2009 17:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Aber trotzdem.. Mein Windows war überlastet... Das dürfte doch eigentlich garnicht passieren! Wenn das ein Virus wäre, ich könnte garnicht herausfinden welche exe daran schuld ist, da die garnix verbraucht...

THX
MFG
Klin

mpmxyz

BeitragMo, Dez 21, 2009 17:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Das ist 100% Auslastung!
So läuft das nun mal auf den Computern...
Die haben an sich noch nicht einmal eine Intelligenz sondern führen nur das aus, was man ihnen sagt. Smile
mfG
mpmxyz
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer

klin

BeitragMo, Dez 21, 2009 17:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Nein.. der Taskmanager sagte das die exe 0% ausgelastet wäre und insgesamt nur 17%.. Das muss etwas anderes sein...

MFG
Klin

mpmxyz

BeitragMo, Dez 21, 2009 17:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Dann scheint der Arbeitsspeicher ziemlich vollgemüllt zu werden.
Hast du da auch geschaut?
mfG
mpmxyz
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer

klin

BeitragMo, Dez 21, 2009 17:11
Antworten mit Zitat
Benutzer-Profile anzeigen
in use: 1 GB von 3 GB.. Daran liegts auch nicht Wink und da die exe ja nur 20k verbraucht...

MFG
Klin

mpmxyz

BeitragMo, Dez 21, 2009 17:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich glaube, dass du die Grafikkarte mit den vielen "DrawImage" überlastest...
Ich habe nämlich gerade einen Lüfter in meinem PC gehört, den ich noch nie gehört hatte... Oo
Und das einzige, was langsam lief, war die Grafikausgabe.
Den Rest konnt ich normal kontrollieren.
mfG
mpmxyz
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer
 

#Reaper

Newsposter

BeitragMo, Dez 21, 2009 20:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Also bei mir unter WinXP (mit nicht dem neusten BMax) habe ich bei deinem Code ähnliche Probleme.
Allerdings zeigte mir der Taskmanager 99% CPU-Last für das Programm an.
Ich denke mal, dass es eben mit DrawImage zusammenhängt.
Ich hatte soetwas auch schon mal hin bekommen (allerdings meine ich ohne Grafikausgabe), so dass selbst MilliSecs() (also der Counter oder was auch immer dahinter) stehenblieb. Angeblich dauerte die Aufgabe nur 2ms oder so, obwohl es mehrere Sekunden lang brauchte. Nunja, den Code habe ich wohl leider nicht mehr.
AMD Athlon 64 3500+, ATI AX800 Pro/TD, 2048 MB DRR 400 von Infineon, ♥RIP♥ (2005 - Juli 2015 -> sic!)
Blitz3D, BlitzMax, MaxGUI, Monkey X; Win7

BtbN

BeitragMo, Dez 21, 2009 21:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Zuerstmal würde ich den Code SuperStrict machen, um eventuelle andere flüchtigkeitsfehler auszuschließen.

rema

BeitragSa, Jan 02, 2010 12:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Es hat ja auch keine Framerate Begrenzung. Dann wird auch die maximal zur verfügbare Leistung deines Rechners geordert, bzw verwendet. Mit einem einfachen Delay 1 oder höher in der Schleife wirst du deine 100% Last drastisch senken können...

D2006

Administrator

BeitragSa, Jan 02, 2010 14:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Ne Frame-Begrenzung ergibt ja auch keinen Sinn. Es soll ja nur ein Frame erstellt und angezeigt werden. Und nach fast zwei Wochen war das jetzt niemandem eine Hilfe.
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard
Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium
Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group