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
jbg

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

AW: D2010/XE Formdesigner langsam

  Alt 5. Sep 2010, 11:26
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.
  Mit Zitat antworten Zitat
SvB

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

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
 
#3

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.538 Beiträge
 
Delphi 12 Athens
 
#4

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
 
#5

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.538 Beiträge
 
Delphi 12 Athens
 
#6

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
 
#7

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
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 04:22 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