AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi komplexe Berechnungen -> Programm hängt
Thema durchsuchen
Ansicht
Themen-Optionen

komplexe Berechnungen -> Programm hängt

Ein Thema von LL0rd · begonnen am 9. Sep 2006 · letzter Beitrag vom 9. Sep 2006
 
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#6

Re: komplexe Berechnungen -> Programm hängt

  Alt 9. Sep 2006, 12:46
Zitat von LL0rd:
Ich kann mir sehr gut vorstellen, dass der Aufruf von Application.ProcessMessages an performance kostet. Angenommen ich bau ein Timer ein, der alle 500ms Application.ProcessMessages aufruft, wird der Timer trotz der laufenden Berechnung dann gestartet?
HI,
du stellst genau die richtige Frage. Es würde nicht gut gehen, ein Timer wird mit sehr geringer Priorität betrieben und es wird nicht sichergestellt, dass dieser auch irgendwann mal aufgerufen wird. In der Tat kommt es hier bei hoher Last gerne mal zu Aussetzern. Zudem würde dein Formular dann alle 500ms springen (wenn es bewegt wurde).
Besser ist es, wenn du deine Berechnung in einen Thread auslagerst. Solange du nur einen Thread laufen hast, kann dieser sequentiell laufen. Der Vorteil ist, dass dein Thread immer solange rechnet bis das Form bewegt wird. Die Bewegung würde sofort gezeichnet werden und danach wieder der Thread die volle Rechenzeit bekommen. Möchtest du hier auf VCL-Komponenten zugreifen, musst du allerdings aufpassen, da muss der Zugriff synchronisiert werden (findest ein Tutorial zu Threads in der DP).
Der Vorteil hier ist halt, dass du keine unnötigen Application.Processmessages Aufrufe hast. Natürlich hat auch ein Thread seinen overhead, aber ich denke der Vorteil liegt halt im gezielteren Unterbrechen.

Gruß Der Unwissende

[Add]
Ok, der Luckie war wohl schneller!
Ok, der Klaus auch
[/ADD]
  Mit Zitat antworten Zitat
 


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 00:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz