AGB  ·  Datenschutz  ·  Impressum  







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

D2010/XE Formdesigner langsam

Ein Thema von SvB · begonnen am 2. Sep 2010 · letzter Beitrag vom 9. Sep 2011
Antwort Antwort
SvB

Registriert seit: 21. Okt 2004
Ort: Eckenroth
426 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#1

AW: D2010/XE Formdesigner langsam

  Alt 5. Sep 2010, 12:57
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
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.485 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2

AW: D2010/XE Formdesigner langsam

  Alt 5. Sep 2010, 13:46
Dann liegt es wohl wirklich an System.LoadResString(). Mal schauen, ob ich das cachen kann.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.393 Beiträge
 
Delphi 12 Athens
 
#3

AW: D2010/XE Formdesigner langsam

  Alt 5. Sep 2010, 14:22
Die Frage ist auch/eher, warum muß in CanChange sooft ein ResourceString ausgelesen werden?

Im Prinzip könnte also doch eine der Fremdkomponenten dran Schuld sein, also z.B. wenn sie sich in die OTA einnistet.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 5. Sep 2010 um 14:25 Uhr)
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.485 Beiträge
 
Delphi 10.1 Berlin Professional
 
#4

AW: D2010/XE Formdesigner langsam

  Alt 5. Sep 2010, 16:22
Die Frage ist auch/eher, warum muß in CanChange sooft ein ResourceString ausgelesen werden?
Weil man den String eben unter "resourcestring" stehen hat. Da handelt man sich schnell unnötiges Resourcestring-Laden ein:
Delphi-Quellcode:
resourcestring
  RsMyString = 'Hallo Welt!';

var
  I: Integer;
  SL: TStrings;
begin
  // ...
  for I := 0 to 10000 do
    if SL[I] = RsMyString then ; // << bei jedem Durchlauf wird LoadResString(@RsMyString) aufgerufen
end;
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.393 Beiträge
 
Delphi 12 Athens
 
#5

AW: D2010/XE Formdesigner langsam

  Alt 5. Sep 2010, 17:14
Hat Delphi denn keine Cache mehr, für "ResourceStrings" ?
Ich dachte Delphi ließt beim Programmstart alle ResourceStrings aus und speichert diese in einer Tabelle. .


[edit]
OK, hatte ganz vergessen, daß die IDE ja en nicht in Delphi programmiert wurde.

[edit2]
und grad nochma geguckt ... ich mar mir Recht sicher schonmal soeine Cache gehabt zu haben.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 5. Sep 2010 um 17:25 Uhr)
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.485 Beiträge
 
Delphi 10.1 Berlin Professional
 
#6

AW: D2010/XE Formdesigner langsam

  Alt 5. Sep 2010, 19:11
Hier gibt es ein IDE Fix Pack "special build", dass einen LoadResString-Cache einrichtet. (Delphi 2009, 2010 und XE).

http://andy.jgknet.de/fixpack/builds/
  Mit Zitat antworten Zitat
SvB

Registriert seit: 21. Okt 2004
Ort: Eckenroth
426 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#7

AW: D2010/XE Formdesigner langsam

  Alt 5. Sep 2010, 19:39
Cool jbg, Du bist der Held. Ich habe in meiner aktuellen Testumgebung ausprobiert und es sieht sehr gut aus. Dann habe ich in meiner Produktivumgebung getestet und mit dem besagten Formular verhält es sich jetzt so, wie ich es unter D2007 gewohnt war, bzw. wie es noch mit D2010 Update 1 funktioniert hatte. F12 drücken und das Formular ist da, so kann man vernünftig arbeiten.
Was bin ich Dir schuldig?

@himitsu: Man hat den Effekt auch schon, wenn man keine Fremdkomponenten installiert hat, einfach nur pures Delphi. Die Verzögerung ist dann zwar nicht so groß, aber man merkt es schon. Die Verzögerung wird um so länger, je mehr Fremdkomponenten installiert sind. Bei mit hatte es mit der Produktivumgebung mit vielen Fremdkomponenten ca. 4 Sek. gedauert, bis das Formular komplett aufgebaut war.

Jetzt mit der Anpassung von jbg flutscht das wieder.

Morgen werde ich dann mal in DXE testen.
  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 23:05 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