Arbeitsspeicher seltsamerweise voll
Übersicht BlitzBasic Beginners-Corner
maboxBetreff: Arbeitsspeicher seltsamerweise voll |
Mo, Jan 05, 2009 19:19 Antworten mit Zitat |
|
---|---|---|
Hab ein Programm, welches seltsamerweise sehr viel Arbeisspeicher benötigt. Es werden ganz viele Bilder nacheinander ins Programm geladen, aber direkt danach wieder gelöscht. Trotzdem braucht das Programm bei 1000 Bildern ca 1.3 GB Arbeitsspeicher. Was ist der Fehler in dem Programm?
Code: [AUSKLAPPEN] Function bilder_einlesen(dir$)
Local rd = ReadDir(dir$) NextFile(rd) Local nxf$ = NextFile(rd) While nxf$ <> "" nxf$ = NextFile(rd) If nxf$ <> "" Then If Instr(nxf$,".jpg") Then gesamt = 0 img = LoadImage(dir$+"\"+nxf$) If img <> 0 Then If ImageWidth(img) > ImageHeight(img) Then breite = breite_hauptbild#/anz_bilder_horiz hoehe = hoehe_hauptbild#/anz_bilder_vert ResizeImage img,breite,hoehe ;bild verkleinern SetBuffer ImageBuffer(img) For y = 0 To hoehe-1 For x = 0 To breite-1 rgb = ReadPixel(x, y) r = (rgb And $FF0000) / $10000 g = (rgb And $FF00) / $100 b = rgb And $FF gesamt = gesamt + Int ((0.299*r) + (0.587*g) + (0.114*b)) Next Next FreeImage img ;WERTE SPEICHERN If datei = 0 Then RuntimeError "Info.sav nicht gefunden!" WriteByte datei,gesamt / (breite * hoehe) WriteLine datei,dir$+"\"+nxf$ ;/WERTE SPEICHERN EndIf EndIf EndIf EndIf EndIf Wend End Function |
||
Fujitsu-Siemens Laptop, 2Ghz Intel Core2Duo Prozessor, 2GB Ram, 120GB Festplatte, ATI Mobility Radeon X1400, Windows Vista Ultimate
www.mausoft.de.tl Dönerfresser Homepage |
- Zuletzt bearbeitet von mabox am Mo, Jan 05, 2009 19:28, insgesamt 2-mal bearbeitet
haubna |
Mo, Jan 05, 2009 19:21 Antworten mit Zitat |
|
---|---|---|
Und was ist dein Problem?
Bei was soll dir geholfen werden? erkläre das bitte auch wenn du hilfe brauchst |
||
Snade |
Mo, Jan 05, 2009 19:23 Antworten mit Zitat |
|
---|---|---|
Koennte es sein das BB bzw. dein Computer die Bilder nichts schnell genug loescht wenn z.B. wenn man im Papierlorb ganz viel loescht braucht der auch eine weile! | ||
mabox |
Mo, Jan 05, 2009 19:27 Antworten mit Zitat |
|
---|---|---|
Das Problem ist eigentlich schon aus dem Titel erkennbar......Ich will den Das das Programm wie oben beschrieben läuft, aber nicht so viel Speicher verbraucht.
@Snade nein ich denke daran liegt es nicht, FreeImage ist ja im Programm eingebaut und theoretisch arbeitet ein Programm alle Befehle Nacheinander ab |
||
Fujitsu-Siemens Laptop, 2Ghz Intel Core2Duo Prozessor, 2GB Ram, 120GB Festplatte, ATI Mobility Radeon X1400, Windows Vista Ultimate
www.mausoft.de.tl Dönerfresser Homepage |
Snade |
Mo, Jan 05, 2009 19:29 Antworten mit Zitat |
|
---|---|---|
ja aber wartet FreeImage mit dem abarbeiten auch bis ein bild geloescht ist also
Bild1 loeschen Bild1 Bild2 loeschen Bild2 oder Bild1 Bild2 loeschen Bild1 loeschen Bild2 |
||
mabox |
Mo, Jan 05, 2009 19:41 Antworten mit Zitat |
|
---|---|---|
Ich denke es wartet, außerdem ist löschen glaub ich schneller als laden und es werden ja dauernd neue Bilder geladen, deshalb müsste das alte Bild auf jeden Fall gelöscht sein wenn das neue geladen ist. | ||
Fujitsu-Siemens Laptop, 2Ghz Intel Core2Duo Prozessor, 2GB Ram, 120GB Festplatte, ATI Mobility Radeon X1400, Windows Vista Ultimate
www.mausoft.de.tl Dönerfresser Homepage |
The_Nici |
Mo, Jan 05, 2009 20:11 Antworten mit Zitat |
|
---|---|---|
Snade, wtf, das Bild wird aus dem Speicher gelöscht, und das RAM ist deutlich schneller als die Harddisk.
Achja, vielleicht wäre CloseDir() Noch nützlich. |
||
HolzchopfMeisterpacker |
Mo, Jan 05, 2009 20:15 Antworten mit Zitat |
|
---|---|---|
Nimm FreeImage aus dem
Code: [AUSKLAPPEN] If ImageWidth(img) > ImageHeight(img) Then
-Block raus |
||
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BY ♫ BinaryBorn - Yogurt ♫ (31.10.2018) Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm |
mabox |
Mo, Jan 05, 2009 20:21 Antworten mit Zitat |
|
---|---|---|
Funktioniert!, Danke! | ||
Fujitsu-Siemens Laptop, 2Ghz Intel Core2Duo Prozessor, 2GB Ram, 120GB Festplatte, ATI Mobility Radeon X1400, Windows Vista Ultimate
www.mausoft.de.tl Dönerfresser Homepage |
Übersicht BlitzBasic Beginners-Corner
Powered by phpBB © 2001 - 2006, phpBB Group