Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   D2010/XE Formdesigner langsam (https://www.delphipraxis.net/154247-d2010-xe-formdesigner-langsam.html)

quantum 4. Sep 2010 16:32

AW: D2010/XE Formdesigner langsam
 
Es könnte auch sein, dass nur eine oder mehrere Komponenten dieses Problem verursachen.
Schonmal Komponente nach Komponente vom Forular gelöscht und auf Zeitunterschied beim umschalten geprüft?

jbg 4. Sep 2010 16:50

AW: D2010/XE Formdesigner langsam
 
In einem solchen Fall würde ich Delphi mit Delphi starten und dann wenn die Wartezeit eintritt, mit F12 (Breakpoint-Taste) unterbrechen, in der Debuggenden-IDE auf den Mainthread wechseln und im Call-Stack nachschauen, was da los ist.

SvB 4. Sep 2010 22:14

AW: D2010/XE Formdesigner langsam
 
So, ich habe das Problem gefunden. Ich habe bisher immer das RAD Studio 2010 inkl. dem eingebauten Update 1-5 vom 14.12.2009 installiert. Habe ich jetzt von der Test-XP VM wieder deinstalliert und habe dann die erste Version, die raus gekommen ist, installiert. Funktionert alles wunderbar. Das Problem tritt erst dann auf, wenn das Update 4 installiert ist. Irgend etwas wurde da geändert, was das Problem verursacht. In Delphi XE ist das dann schon direkt eingebaut.
Das Update 1 hatte ich vorher auch noch installiert, da war das Problem noch nicht, das Update 2 und 3 habe ich nicht mehr separat gehabt und ist auch nicht mehr zum download verfügbar, deshalb habe ich direkt Update 4 installiert, in dem alle vorherigen Updates enthalten sind. In der Readme zum Update 4 steht leider nicht, was sich alles geändert hat, mal schauen, ob dírgendeine Info darüber finde.

@quantum: Die Verzögerung tritt schon auf, wenn nur ein einzelner TButton auf der Form ist und die Verzögerung wird um so länger je mehr Komponenten installiert sind. Wie gesagt, es reicht dann auch nur ein einzelner TButton.

@jbg: Ich denke, dass ich nicht genug Ahnung davon habe, dann auf dem Callstack nachzuschauen. Da wird dann doch nur ASM angezeigt, oder?

Jetzt muss ich mir erst mal überlegen wie ich weiter mache. Ich werde vielleicht testweise mal noch ein XP direkt auf einer Hardware installieren und schauen wie es sich da verhält. Vielleicht ist es ein Problem, was in Verbindung mit einer VM auftritt, was ich allerdings nicht glaube, da es ja definitiv nach einem Update von Delphi auftritt.

Wenn jemand noch eine Idee hat, was ich jetzt tun kann, nur zu, bin für alles offen. Hat denn jemand D2010 mit allen Updates noch auf einem XP laufen?

Gruß und Gute Nacht
Sven

himitsu 5. Sep 2010 07:06

AW: D2010/XE Formdesigner langsam
 
Du hast die fehlerhaften Updates 2 und 3 mit intalliert?

SvB 5. Sep 2010 08:46

AW: D2010/XE Formdesigner langsam
 
Was meinst Du mit fehlerhaften Updates? Ich habe bei mir das Update 1 vom 22.09.2009 und dann das UpdatePack vom Dez. 2009 auf der Platte. Habe zu erst das Update 1 installiert, da geht noch alles. Dann habe ich das Update 4 auf dem UpdatePack installiert und dann treten die Probleme auf. Im Update 4 sind ja alle vorherigen Updates integriert. Ist das Update 4 auch fehlerhaft, bzw. die darin enthalten Updates 2 und 3 dann immer noch?

himitsu 5. Sep 2010 09:00

AW: D2010/XE Formdesigner langsam
 
OK, darum fragte ich ja, also ob du diese auch noch mit installiert hattest, wegen dem "1-5".
Die Updates 2 und 3 von D2009/D2010 waren fehlerhaft und wurden durch die fehlerbereinigten Updates 4 und 5 ersetzt.
Somit sind also nur noch die Updates 4, 5 und die beiden HelpUpdates von Nöten.

Zitat:

Zitat von jbg (Beitrag 1047522)
In einem solchen Fall würde ich Delphi mit Delphi starten und dann wenn die Wartezeit eintritt, mit F12 (Breakpoint-Taste) unterbrechen, in der Debuggenden-IDE auf den Mainthread wechseln und im Call-Stack nachschauen, was da los ist.

Am Besten du probierst dieses mal aus und schaust wo es hängt.

SvB 5. Sep 2010 09:42

AW: D2010/XE Formdesigner langsam
 
Alles klar, ich habe mir mal mit dem Debugging versucht.

Sobald ich F12 drücke, dann wird in die debuggende IDE gewechselt und wenn ich dort den "Main IDE Thread" anwähle wird im Aufruf Stack folgendes angezeigt:

:7c91eb94 ntdll.KiFastSystemCallRet
:7c91e21f ntdll.NtQueryVirtualMemory + 0xc
:7c922cb7 ntdll.LdrAccessResource + 0x15
:7c922cb7 ntdll.LdrAccessResource + 0x15
:77d19c4e USER32.LoadStringW + 0x18
:500116da rtl140.@System@LoadResString$qqrp20System@TResStri ngRec + 0x4a
:20925bd5 ; C:\Programme\Embarcadero\RAD Studio\7.0\bin\coreide140.bpl
:2091eff8 coreide140.@Toolfrm@TToolForm@ItemAdded$qqrx55Syst em@%DelphiInterface$t27Paletteapi@IOTAPaletteGroup %x58System@%DelphiInterface$t30Paletteapi@IOTABase PaletteItem% + 0x80
:2091dd9c ; C:\Programme\Embarcadero\RAD Studio\7.0\bin\coreide140.bpl
:2091eec6 coreide140.@Toolfrm@TToolForm@EndUpdate$qqrv + 0x6e
:2091eec6 coreide140.@Toolfrm@TToolForm@EndUpdate$qqrv + 0x6e
:2085751a coreide140.@Editorform@TEditWindow@EndViewSelect$q qrv + 0x12
:2085207b coreide140.@Editorform@TEditWindow@ViewBarChange$q qrp14System@TObjectiro + 0x23
:50328fa7 vcl140.@Tabs@TTabSet@CanChange$qqri + 0x23
:208ca1ef coreide140.@Editorbuffer@TEditSource@SwitchToView$ qqrx20System@UnicodeString + 0x5f
:00000006

Leider kann ich selbst damit nicht viel mit anfangen.

Gruß
Sven

jbg 5. Sep 2010 11:26

AW: D2010/XE Formdesigner langsam
 
Zitat:

Zitat von SvB (Beitrag 1047592)
Leider kann ich selbst damit nicht viel mit anfangen.

Aber ich kann.
Könntest du das noch zweimal wiederholen (noch 2 Call-Stacks), damit ich sicher sein kann, dass es sich um ein exzessives Ressource-String-Abfragen handelt.

SvB 5. Sep 2010 12:57

AW: D2010/XE Formdesigner langsam
 
Ich habe jetzt noch ein paar mal mit F12 hin und her geschaltet und hier der CallStack:

:7c91eb94 ntdll.KiFastSystemCallRet
:7c91e21f ntdll.NtQueryVirtualMemory + 0xc
:7c922cb7 ntdll.LdrAccessResource + 0x15
:77d19bc9 USER32.LoadCursorW + 0x60
:77d19c4e USER32.LoadStringW + 0x18
:500116da rtl140.@System@LoadResString$qqrp20System@TResStri ngRec + 0x4a
:20925bd5 ; C:\Programme\Embarcadero\RAD Studio\7.0\bin\coreide140.bpl
:2091eff8 coreide140.@Toolfrm@TToolForm@ItemAdded$qqrx55Syst em@%DelphiInterface$t27Paletteapi@IOTAPaletteGroup %x58System@%DelphiInterface$t30Paletteapi@IOTABase PaletteItem% + 0x80
:2091dd9c ; C:\Programme\Embarcadero\RAD Studio\7.0\bin\coreide140.bpl
:2091eec6 coreide140.@Toolfrm@TToolForm@EndUpdate$qqrv + 0x6e
:20714546 coreide140.@Palmgr@TPaletteManager@EndUpdate$qqrv + 0xc6
:2085751a coreide140.@Editorform@TEditWindow@EndViewSelect$q qrv + 0x12
:2085207b coreide140.@Editorform@TEditWindow@ViewBarChange$q qrp14System@TObjectiro + 0x23
:50328fa7 vcl140.@Tabs@TTabSet@CanChange$qqri + 0x23
:208ca1ef coreide140.@Editorbuffer@TEditSource@SwitchToView$ qqrx20System@UnicodeString + 0x5f
:00000006

jbg 5. Sep 2010 13:46

AW: D2010/XE Formdesigner langsam
 
Dann liegt es wohl wirklich an System.LoadResString(). Mal schauen, ob ich das cachen kann.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:58 Uhr.
Seite 2 von 4     12 34      

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