Entwickler-Ecke

Sonstiges (Delphi) - Programm mit Delphi 2010 deutlich langsamer als mit D7


jsfrigo - Mo 07.06.10 14:20
Titel: Programm mit Delphi 2010 deutlich langsamer als mit D7
Ich habe ein Projekt jetzt von D7 auf Delphi 2010 umgestellt.
So weit so gut aber das Programm ist jetzt insbesonders beim Programmstart deutlich langsamer.
Was jetzt deutliche länger als vorher dauert ist das öffnen von Querys die mit Lookupcomboboxen verbunden
sind.
Als Datenbank wird der Advantage Database Server eingesetzt.
Hat von Euch sonst noch jemand vergleichbare Probleme festgestellt und falls ja schon Lösungen gefunden??
Gruss


jsfrigo - Mi 09.06.10 14:02

So jetzt noch mal ein paar Details hinterher
Ich habe jetzt den Programmstart in einem neuen Projekt noch mal simuliert.
Als erstes habe ich nur ein einfaches Formular mit 4 Querys erzeugt und die Querys geöffnet und die Zeit messen lassen.
Dabei gab es keine größeren Differenzen ( also von 0,26 - 0,32 Sek bei D7 und 0,3 - 0,34 Sek bei D 2010)

Im Zeiten Schritt habe ich noch 4 Datasorces und 4 Lookupcomboboxen hinzugefügt und diese mit den Querys verbunden.
Nun sein deutliche Differenzen festzustelle ( 1,29 - 1,34 Sek bei D 7 und 2,38 - 2,48 bei D 2010)

Also Datenbank wird der Advantage Databaseserver verwendet und als Lookupcomboboxen cxComponenten.


Sinspin - Mi 09.06.10 16:50

Hallo,

was für eine Serverversion verwendest du?

Wir setzen auch auf ADS und verwenden DevExpress Komponenten für alles visuelle. Ich kann jetzt nicht speziell sagen das etwas bestimmtes mit D2010 langsamer geworden ist. Nur bei DevExpress sind von Version zu Version ganz ordentliche unterschiede in der Performace zu verzeichnen.
Hast du bei D7 und D2010 die gleiche Version installiert? Sicher wirst du auch in beiden Fällen mit der gleichen DB also den gleichen Daten arbeiten.


jsfrigo - Do 10.06.10 13:57

Als DB Version verwenden wir die Version 9.
Ich habe aber jetzt etwas herrausgefunden, das die Geschindigkeit verbessert.
Wenn man in den properties der cxlookupcombobox GridMode auf true stellt funktioniert der Programmstart ( sowoahl in D7 als auch in D 2010) viel schneller.
Insgesammt ist D 2010 zwar immer noch langsamer als D7 ( z.B. bei create eines Formulars mit vielen Komponenten) aber durch die Optimierung in der Lookupcombobox fällt es jetzt nicht mehr auf ;-)


Sinspin - Do 10.06.10 15:56

Ich kann nicht bestätigen das es lahm ist eine Form anzuzeigen die viele Komponenten hat. Wir haben ein Formular das hat leider wirklich sehr viele Komponenten drauf, so viele das selbst Delphi immer mal spinnt, aber zur Laufzeit geht das schneller auf wie manch anderes das nur eine einzige Tabelle anfasst.
Was ein bisschen langsamer geworden ist ist die Verarbeitung von Strings. Da müssen ja nun durch Unicode mehr Bytes pro Zeichen durch die Gegend geschaufelt werden.
Eventuell hat das auch Auswirkungen wenn Strings in Tabellen oder anderen Datensensitiven Komponenten dargestellt werden.
Was bei einem Start über die IDE auch deutlich länger dauert ist das öffnen einer neuen Connection. Ohne IDE habe ich aber noch nichts bemerkt.