Hallo zusammen,
ich bin im Moment mittelschwer genervt, weil ich auf meinem Laptop mein Projekt nicht wirklich weiterentwickeln kann.
Der Laptop ist Rechner mit Vista Home Premium drauf, Delphi ist so installiert, dass es auch Admin-Rechte funktioniert (Delphi mit den Rechten auszuführen hilft leider nicht weiter).
Mein Problem ist folgendes:
Ich entwickle derzeit eine Anwendung, bei der ich mehrere TIdTCPClient Instanzen in einem eigenen Thread laufen lasse, sowie ein TIdTCPServer im Main-Thread verwende. Die Anwendung arbeitet mit Laufzeitpackages (BPLs). Seitdem ich das Package, dass diese Threads und den TCPServer beinhaltet zur Anwendung hinzugefügt habe, dauern alle Aktionen der Anwendung extrem viel länger (Faktor 5-15 geschätzt),
wenn die Anwendung im Delphi-Debugger läuft. Wenn sie dies nicht tut, ist sie so schnell, wie vorher, also ganz normal.
Ich glaube nicht so richtig daran, dass es die Ausführung der Threads ist, denn diese werden erst später im Programmablauf gestartet (und die Indy 9 Komponenten auf aktive := true geschaltet). Aber das Programm stockt ab der ersten Sekunde.
Vielleicht hat das etwas mit den Packages zu tun, die dazu noch mit in die Anwendung geholt werden. Dies ist eigentlich nur die indy.dcp
Was nicht verwunderlich, aber erwähnenswert ist, ist folgendes:
Delphi läuft immer, wenn das Programm viel Rechenleistung benötigt mit einer sehr starken Auslastung, die sich erst wieder leg, wenn das Programm auch nichts zu rechnen hat. An sich ja nachvollziehbar, es läuft ja der Debugger mit. Aber die Ausmaße sind schon ziemlich erschreckend.
Wenn ich im per Einzelschritt debugge, dann dauert eine Einfache Anweisung, alla 1+1 schon gut eine halbe bis ganze Sekunde
Auf meinem XP-Rechner ist dies nicht der Fall und auch auf einem anderen Windows Vista (Home Premium?) Rechner ist dies nicht der Fall.
Welche Faktoren könnten dieses Verhalten beeinflussen?
Probiert habe ich auch, das eingesetzte DelphiSpeedUp zu deinstallieren. Das halt leider nichts gebracht.
Updates und Hotfixes habe ich m.W. nach alle installiert.
Die Alternativlösung habe ich auch schon umgesetzt, das ist ein virtueller PC mit einem anderen Betriebssystem. Allerdings habe ich nur einen 1,6 GHz Dual Core Rechner ohne Hardware-Virtualisierung. Microsoft Virtual PC 2007 nutzt nur eine CPU Core und somit habe ich dann auf einmal einen virtuellen 1,6 GHz Rechner, mit einem Wirt-OS Windows Vista.
Das ist alles andere als Performant
Wo zum Teufel könnten Anregungen und Ansätze für eine Lösung für das Problem stecken?
Viele Grüße
alias5000