Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi JvRichEdit lädt sehr langsam auf einigen Systemen (Beispielexe angehängt) (https://www.delphipraxis.net/191961-jvrichedit-laedt-sehr-langsam-auf-einigen-systemen-beispielexe-angehaengt.html)

Shark99 8. Mär 2017 02:04

JvRichEdit lädt sehr langsam auf einigen Systemen (Beispielexe angehängt)
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich brauche einen RTF Editor für ein neues Projekt.

Als ersten teste ich den TJvRichEdit, weil dieser ja kostenlos ist und meinen Ansprüchen genügen sollte.

Ich habe die Demo mit Delphi XE5 compiliert (angehängt inkl Executable), gestartet und diese kleine App braucht unglaubliche 4 Sekunden um auf meiner sehr schneller (Skylake 6700K, PCIe SSD) Entwicklungskiste zu starten. Es kam mir sehr merkwürdig vor, also habe ich weiter getestet und festgestellt dass sogar im Delphi 7 und XE5 Designern das Öffnen, also Anzeigen der Form glatte 4 Sekunden dauert.

Also weiter testen.

Führe ich EditorDemo.exe zum ersten mal aus dauert es 4 Sekunden. Schliesse ich die App und starte innerhalb einiger Sekunden wieder ist die Wartezeit verschwunden, d.h. das Fenster erscheint sofort. Warte ich ein paar Minuten und starte nochmals kommt wieder die 4 Sekunden Pause.

Da hier 6 Computer rumstehen, 3 mit Windows 7 und 3 mit Windows 10 habe ich EditorDemo.exe auf alle Kisten kopiert. Bei allen 3 Windows 7 PCs starten die App immer sofort. Auf zwei der drei Windows 10 PCs gibt es diese 4 Sekunden Pause. Wie gesagt, auch in der IDE beim ersten Öffnen der Form, ist also keine Runtime-Sache.

Kann mir bitte jemand erklären was hier los sein könnte? Ich habe das Beispielprojekt inkl compilierter Exe angehängt.

sko1 8. Mär 2017 09:20

AW: JvRichEdit lädt sehr langsam auf einigen Systemen (Beispielexe angehängt)
 
Nur so als Gedanke : Virenscanner als Ursache?

Ciao
Stefan

Shark99 8. Mär 2017 11:07

AW: JvRichEdit lädt sehr langsam auf einigen Systemen (Beispielexe angehängt)
 
Hab den Virenscanner (Nod32) kurz deaktiviert. Die 4 Sekunden Pause bleibt. Alle 6 PCs haben auch den gleichen Virenscanner.

Shark99 8. Mär 2017 11:25

AW: JvRichEdit lädt sehr langsam auf einigen Systemen (Beispielexe angehängt)
 
Habe jetzt etwas länger mit der Demo rumgespielt und es liegt gar nicht am JVRichEdit!

Wenn ich die FormatBar: TJvSpeedBar auf der alle die Buttons liegen um z.B. die Schriftart zu Wechseln dann ist die 4 Sekunden Pause weg! Eine Vermutung wäre dass das Einlesen der Systemfonts 4 Sekunden dauert. Aber wieso ist die Pause dann nicht auf allen PCs da? (alle haben vergleichbare Fontanzahl).

Muss mir den Komponentencode in Detail anschauen.

Edit: Wie schon vermutet wird die Pause von FontName: TJvFontComboBox verursacht.

Slipstream 8. Mär 2017 11:27

AW: JvRichEdit lädt sehr langsam auf einigen Systemen (Beispielexe angehängt)
 
Windows hat einige Dienste, die den Start einer Application verzögern können. Wenn nur beim ersten Start eine Verzögerung passiert, dann kennt Windows die App noch nicht uns prüft sie erstmal, beim zweiten Start entfällt diese prüfung. ich weiss jetzt nicht geneau, wie dieser dienst heisst, Anwendungserfahrung oder sowas ähnliches. Wenn das ausgeschalten ist, dauert der erste Start länger, wenn eingeschaltet, kennt Windows die App schon - oder umgekehrt? Nur mal so als Hinweis, wo man noch suchen könnte.

Mit TJvDBRichEdit hatten wir noch keine Probleme, benutzen wir aber kaum noch, weil wir bessere Richedits gekauft haben.

Das Einlesen der Fonts dauert natürlich, und vielleicht haben Pcs, wos schneller geht, weniger fonts installiert?

Shark99 8. Mär 2017 11:37

AW: JvRichEdit lädt sehr langsam auf einigen Systemen (Beispielexe angehängt)
 
Denke nicht dass es an einem Dienst liegt, weil die Pause wieder da ist wenn man die Anwendung für etwa 1 Minute nicht im Speicher hält.

Hab mir die Anzahl der Fonts angeschaut. Die zwei schnellen EntwicklungsPCs auf denen die Pause passiert haben 198 und 201 Fonts. Zwei PCs (die aber von der Hardware deutlich schwächer sind) auf denen es nicht passiert, die Demo also immer in 0.1 Sekunden startet haben 78 und 141 Fonts.

Shark99 8. Mär 2017 11:41

AW: JvRichEdit lädt sehr langsam auf einigen Systemen (Beispielexe angehängt)
 
Habe einen Work-Around gefunden.

JVFontCombobox.Device von fdBoth auf fdScreen (d.h. fdPrinter wird ignoriert) umgeschaltet und Demo startet sofort, ohne Pause. Es werden weiterhin alle 201 Fonts in der Combobox angezeigt.

EnumFonts(Printer.Handle, nil, @EnumFontsProc, Pointer(Self));

in JvColorCombo.pas ist der Übeltäter.

sko1 8. Mär 2017 13:20

AW: JvRichEdit lädt sehr langsam auf einigen Systemen (Beispielexe angehängt)
 
Das heißt die verschiedenen Rechner haben eine unterschiedliche Anzahl (und Typ) installierter Drucker?

Ciao
Stefan

Shark99 8. Mär 2017 15:13

AW: JvRichEdit lädt sehr langsam auf einigen Systemen (Beispielexe angehängt)
 
Die 4 wo das Problem nicht da war hatten keine Druckertreiber installiert. Die zwei mit dem Problem hatten einen Samsung Druckertreiber.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:02 Uhr.

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