Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Geschwindigkeit von Messages innerhalb eines Programms (https://www.delphipraxis.net/106772-geschwindigkeit-von-messages-innerhalb-eines-programms.html)

Oracle 16. Jan 2008 14:35


Geschwindigkeit von Messages innerhalb eines Programms
 
Ich habe folgendes Problem.

Ich entwickle zur Zeit an einer Software in der die Kommunikation zwischen einzelnen Units über Messages realisiert ist (SendMessage). Ich stelle nun fest, dass die Ablaufgeschwindigkeit der Software auf den meisten Rechnern sehr schnell ist. Auf einem jedoch läuft das Programm ca. 10 mal langsamer. Ich habe mich mal dran gemacht, und an einer Stelle statt einer SendMessage druch einen direkten Aufruf einer Methode aus einer anderen Unit ersetzt. Danach war das Programm auch auf dem Rechner genauso schnell wie auf allen anderen mit den Messages. Hat da sonst schon jemand Erfahrung gemacht mit?

Vielen Dank schon mal im Vorraus :-D

Bernhard Geyer 16. Jan 2008 14:37

Re: Geschwindigkeit von Messages innerhalb eines Programms
 
Ursachen könnten sein: Virenscanner (oder Virus), Firewall, Grafikkarten-Tools (NVidia Desktopxyz), Explorer-Plugins. Diese können alle Hooks in die Windows-Messageschleife einhängen.

sirius 16. Jan 2008 14:42

Re: Geschwindigkeit von Messages innerhalb eines Programms
 
Blockieren sich vielleicht auch Threads gegenseitig?

RavenIV 16. Jan 2008 14:44

Re: Geschwindigkeit von Messages innerhalb eines Programms
 
Wieso arbeitest DU komplett mit Messages?

Für die Kommunikation der Units gibts doch andere Vorgehen:
- public Methoden
- Properties

Oracle 16. Jan 2008 14:57

Re: Geschwindigkeit von Messages innerhalb eines Programms
 
Das Programm hab ich nicht geschrieben. Ich selbst hätte auch nicht mit Messages gearbeitet, um die Kommunikation zu lösen.
Ich nehme aber an, dass die Messages hauptsächlich deswegen eingesetzt wurden, da das Programm prozedual und nicht opjektorientiert geschrieben worden ist. Aber mich würde bei dieser Gelegenheit mal interessieren wie genau diese Messages funktionieren. Und warum sie unterschiedlich schnell sein können.

Gerade eben habe ich noch was festgestellt, dass wenn ich die Darstellung von Windows auf den klassischen Windows Look umstelle und einen Neustart mache, wird das Programm wesentlich schneller. Stelle ich dann wieder um bleibt es so schnell. Auch nach einem Neustart. Hat dafür jemand eine Erklärung?


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:19 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