AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Hohe Auslastung - Programm hängt

Ein Thema von zappel · begonnen am 6. Okt 2005 · letzter Beitrag vom 7. Okt 2005
Antwort Antwort
zappel

Registriert seit: 30. Jan 2004
65 Beiträge
 
Delphi 2005 Personal
 
#1

Hohe Auslastung - Programm hängt

  Alt 6. Okt 2005, 21:40
Hallo!

Ich habe ein Programm zur Konvertierung von Bildern mit C# geschrieben. Zu Testzwecken habe ich nun 100 jpg-Bilder (315MB) durch das Programm gejagd. CPU-Auslastung lag bei ständig nahezu 100%, ist ja auch nachvollziehbar. Ds Programm aber scheint "tot" zu sein. Wenn ich ein anderes Programm vor meins bringe und dann wieder schließe, ist mein ganzes Programm weiß. Das Problem sollte verständlich sein.
Ein Kumpel von mir hat gesagt, ich müsse nach jeder Iteration der Konvertierung dem Programm die "Chance" geben, die Windows-Nachrichten abzuarbeiten. Ich weiß ungefähr, was er meint, nur habe ich von dem Thema keine Ahnung.
Kann mir jemand darüber ein wenig erklären oder mir einen Link geben? Ich weiß auch nicht genau, wonach ich da im Internet suchen kann. Ein paar Stichworte würden schon genügen, damit ich weiß, wonach ich suchen kann.

Die entsprechenden Funktionsnamen würden natürlich auch nicht schaden.
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#2

Re: Hohe Auslastung - Programm hängt

  Alt 6. Okt 2005, 21:47
Hi,

Wenn Du in einer for-Schleife jeweils am Ende nach der Bearbeitung, Application.DoEvents() aufrufst, sollte es gehen

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
zappel

Registriert seit: 30. Jan 2004
65 Beiträge
 
Delphi 2005 Personal
 
#3

Re: Hohe Auslastung - Programm hängt

  Alt 6. Okt 2005, 21:49
Danke! Genau das, was ich gesucht habe!
  Mit Zitat antworten Zitat
Benutzerbild von Speedmaster
Speedmaster

Registriert seit: 4. Mär 2005
Ort: Karlsruhe
535 Beiträge
 
Delphi 2005 Personal
 
#4

Re: Hohe Auslastung - Programm hängt

  Alt 6. Okt 2005, 22:54
Nur so: In was möchtest du den dein Bild Konvertieren?? Erscheint mir irgendwie nicht Sinnvoll, da .NET ja die meisten Dateiformate von Haus aus unterstützt!
Felix K.
Zitat:
Siehst du diesen Park da unten?
Jeden Tag lernen sich leute kennen und verlassen einander, und du hast dein ganzes Leben Zeit darin zu gehen!
  Mit Zitat antworten Zitat
Alexander

Registriert seit: 28. Aug 2002
Ort: Oldenburg
3.513 Beiträge
 
Turbo Delphi für .NET
 
#5

Re: Hohe Auslastung - Programm hängt

  Alt 7. Okt 2005, 09:59
Alternativ einfach den Algo für's konvertieren in einen eigenen Thread auslagern. Das ist wohl der beste Weg.
Alexander
  Mit Zitat antworten Zitat
zappel

Registriert seit: 30. Jan 2004
65 Beiträge
 
Delphi 2005 Personal
 
#6

Re: Hohe Auslastung - Programm hängt

  Alt 7. Okt 2005, 15:16
@Speedmaster:

Das Programm habe ich sozusagen für meine Webseite geschrieben. Dort sind mehrere hundert Bilder zu sehen. Mit dem Programm kann ich nun die von der Digicam geladenen Bilder direkt in der gewünschten Größe (inkl. Thumbnail) speichern. Dazu lade ich jeweils ein Bild, ändere die Größe und speichere es wieder. Also ich habe schon die .net-Methoden benuzt.

@Alexander:

Die Variante mit Application.DoEvents() reicht schon völlig aus. Das Programm ist eine Art Assistent und der letzte Schritt ist halt das Konvertieren. Es reicht also aus, wenn man den Mauszeiger bewegen kann und nicht das Gefühl hat, das Programm ist "tot".
  Mit Zitat antworten Zitat
Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#7

Re: Hohe Auslastung - Programm hängt

  Alt 7. Okt 2005, 15:27
Zitat von zappel:
Die Variante mit Application.DoEvents() reicht schon völlig aus. Das Programm ist eine Art Assistent und der letzte Schritt ist halt das Konvertieren. Es reicht also aus, wenn man den Mauszeiger bewegen kann und nicht das Gefühl hat, das Programm ist "tot".
Wichtig ist bei der Variante aber, dass man wirklich alle Eingabefelder und Buttons deaktivert. Sonst kann man ohne Probleme ein weiteres die gleiche Aktion starten und dann wirds sehr chaotisch
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
  Mit Zitat antworten Zitat
zappel

Registriert seit: 30. Jan 2004
65 Beiträge
 
Delphi 2005 Personal
 
#8

Re: Hohe Auslastung - Programm hängt

  Alt 7. Okt 2005, 15:34
Ja klar, habe ich gemacht. Während der Konvertierung kann man in dem Programm nichts mehr machen. Einzig den Fortschritt kann man an einer ProgressBar ablesen.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz