|
| Autor |
Nachricht |
Marduk_ « Moderator »

Anmeldedatum: 17.06.2007 Beiträge: 389
|
Während der Laufzeit Systemressourcen freigeben
Verfasst am: 19.10.2007, 16:07 |
|
|
Hi Leute,
bin momentan an einem Projekt dran, bei dem ich mit Bildern arbeite. Es werden Bilder ( auch größere Bilder ) geladen und Bilder erstellt. Problem dabei ist nur, dass das Tool extrem viel Speicher verbraucht Bei ein paar 1 MB Bildern sind das dann schon 120 MB die verbraucht werden. Is also nicht der Brüller, wenn es Tool im Tray ne Zeit lang laufen soll.
Deswegen will ich während der Laufzeit, zu bestimmten Zeiten ( nach dem Erstellen, Laden von den Bildern ) die Ressourcen wieder frei geben. Nur, wie mach ich das? Ich kann ja wohl schlecht den Prozess killen und hoffen dass mein Tool von selbst weiterläuft
Jemand ne Ahnung wie man das Problem umgehen kann?
MfG
Marduk |
|
| |
|
 |
Rip_ Tutorial Leser

Anmeldedatum: 02.01.2007 Beiträge: 62 Wohnort: Schwerin
|
Verfasst am: 21.10.2007, 21:02 |
|
|
Ich habe das glaube ich nicht richtig verstanden oder wie soll dien Programm funktionieren ? Es werden Bilder im programm geladen und wenn dies öfters gescheit, erfolgt eine hohe speicherauslastung.
Die eifnachste möglichkeit wäre dann doch die Bilder zu entladen oder möchtest du diese im Programm speichern ? |
|
| |
|
 |
Marduk_ « Moderator »

Anmeldedatum: 17.06.2007 Beiträge: 389
|
Verfasst am: 21.10.2007, 21:23 |
|
|
| Also es geht um eine Vorschaufunktion von den Bildern. Die Bilder sind in einer Liste gelistet und wenn ich den jeweiligen Eintrag anklicke soll halt ne kleine Vorschau in einer Picturbox angezeigt werden. Und momentan lasse ich noch die ganzen Bilder in die PicturBox laden und ausgeben, wenn ich ein anderen Eintrag anklicke wird ein anderes geladen. Nur die Bilder können schon mal 2, 3MB groß sein. |
|
| |
|
 |
Rip_ Tutorial Leser

Anmeldedatum: 02.01.2007 Beiträge: 62 Wohnort: Schwerin
|
Verfasst am: 22.10.2007, 08:56 |
|
|
Hm, ich glaube du solltest mir mal dein projekt schicken sonst verstehe ich es nicht zu 100 %. Lade doch einfach die Bilder aus einem ordner z.B. so das man in der List 10 Bilder sieht und dann beim anklickend as ganze geladen wird.
Dann könntest du nach dem schließen ein neues bild in die vorschauladen und das alte wieder entfernen. jedoch das programm merken lassen welche Bilder bereits aufgerufen wurden. |
|
| |
|
 |
Marduk_ « Moderator »

Anmeldedatum: 17.06.2007 Beiträge: 389
|
Verfasst am: 23.10.2007, 18:15 |
|
|
Ok hab es jetzt mal so gemacht. Beim Laden der Bilder wird das Bild in einer Imagelist gespeichert. Und beim Anklicken eines Eintrages wird das Bild geladen. Es geht jetzt um einiges schneller und ressourcenschonender. Danke für deine Idee.
Hab nur noch Probleme mit der Qualität der Bilder die angezeigt werden. Die Qualität lässt zu wünschen übrig.
Naja mal sehen, wie ich das löse. Trotzdem danke |
|
| |
|
 |
Bahamut_ « Moderator »

Anmeldedatum: 12.12.2006 Beiträge: 250
|
Verfasst am: 24.10.2007, 08:38 |
|
|
Probleme mit dem Entladen hatte ich auch schon - z.b wenn man mehrere Formen öffnet steigt der Ram-Verbrauch enorm. Wenn man sie nun wieder schließt und nur eine offen lässt geht der Verbrauch nicht runter.
.Net hat zwar einen Garbagecollector, aber wie man den richtig verwendet (der macht eigentlich alles automatisch angeblich) hab ich nicht durchschaut. Gibt zwar Befehle wie Me.dispose oder so, aber die bringen mein Prog meistens zum Abstürzen xD VB.Net-Compiler: http://www.microsoft.com/germany/express/download/default.aspx
VB.Net-eBook: http://www.galileocomputing.de/openbook/visual_basic/ |
|
| |
|
 |