Laden...

EXE: Lange Startzeit

Erstellt von reloop vor 13 Jahren Letzter Beitrag vor 13 Jahren 1.837 Views
reloop Themenstarter:in
139 Beiträge seit 2010
vor 13 Jahren
EXE: Lange Startzeit

Hallo liebe Community,

meine Anwendung (WPF-EXE) benötigt wenn ich Sie aus der Entwicklungsumgebung heraus starte, ca. 2 Sekunden bis sie sich öffnet. Das ist soweit noch vertretbar.

Nun habe ich Sie bei meinem Kunden installiert (.NET4 etc. läuft alles auf dem Client!) und die Anwendung brauch 7 Sekunden bis Sie sich öffnet. Der Cursor wird auch nicht zur Sanduhr o.ä. .

Auch bei der Bedienung hängt die Anwendung. Maximieren der Maske ruckelt und ist ebenfalls langwierig.

Die Anwendung selbst lädt beim Start nur eine 50 Zeilen lange Textdatei, beinhaltet eine Navigation und ein DataGrid in der Mitte - das wars!

Ich habe im Web & hier im Forum leider nichts zu diesem Thema gefunden, deshalb mein Post.

Mit freundlichen Grüßen,
reloop

S
417 Beiträge seit 2008
vor 13 Jahren

Hallo,

die Probembeschreibung ist natürlich sehr ungenau. Wie alt ist denn
der Rechner des Kunden? Evtl. zu wenig Leistung oder eine sehr alte Grafikkarte?
Kommt auch drauf an, welche (komplexen) Grafikoperationen deine WPF-Anwendung noch ausführt.

Gruß
Daniel

6.862 Beiträge seit 2003
vor 13 Jahren

Hallo,

brauch die Anwendung immer 7 Sekunden zum Starten oder nur beim ersten mal? Falls nur beim ersten mal dannw ird sie dort erst kompiliert und eventuell das Framework geladen falls noch keine andere .net Anwendung auf dem Rechner lief.

Ansonsten noch ergänzend zu dem was sarc gesagt hat:
Wenn WPF die Arbeit nicht auf die Hardware auslagern kann wird alles in Software gerendert - das ist natürlich nicht sonderlich schnell. Kann man über das Rendering Tier prüfen.

Und ansonsten kann man durch falschen Einsatz von Styles, Templates, Bindings und Co. auch die einfachste Anwendung in die Knie zwingen.

Baka wa shinanakya naoranai.

Mein XING Profil.

reloop Themenstarter:in
139 Beiträge seit 2010
vor 13 Jahren

Also, bei mir:

Intel Core 2 Duo 2.8 GHZ
3 GB Ram
und aktueller G-Force Garfikkarte, braucht die Exe aus dem Release Ordner 3-4 Sekunden bis sie sich öffnet.

Und das immer, nicht nur einmalig.

Die genauen Eckdaten des Kundensystems kann ich dir im Moment leider nicht nennen, da ich dort gegenwärtig niemanden telefonisch erreiche.

Selbst wenn ich das Binding entferne und die Maske sich ohne Daten öffnet, bleibt meine Startzeit bei 3-4 Sekunden.

Gruss,
reloop

E
180 Beiträge seit 2010
vor 13 Jahren

Eine Option kann auch ein sehr intensiver Virenscanner sein der eine sehr tiefe heuristik verwendet um die exe zu prüfen, was die lange ladezeit auch erklären könnte. prinzipiell ist es jedoch ein blick in die glaskugel 😃

reloop Themenstarter:in
139 Beiträge seit 2010
vor 13 Jahren

Ich habe etwas interessantes festgestellt:

Setze ich den Aufruf des Controls auf Kommentar, dass mein Grid beinhaltet, öffnet sich das Projekt binnen 1-2 Sekunden.

Klicke ich nun auf den Menüpunkt der das Control mit dem Grid lädt, dauert der Vorgang nochmal 1-2 Sekunden.

Klicke ich auf einen anderen Menüpunkt und wechsel danach wird zum Control mit dem Grid zurück, öffnet es sich direkt ohne Ladezeit.

Kurz gefasst:

Das erste Laden zur Laufzeit, von meinem GridControl, dauert immer 1-2 Sekunden.

(OHNE Binding!)

Ich hoffe, ich habe es nicht zu umständlich beschrieben.

6.862 Beiträge seit 2003
vor 13 Jahren

Wie sieht denn der Markup vom Grid aus?

Baka wa shinanakya naoranai.

Mein XING Profil.

reloop Themenstarter:in
139 Beiträge seit 2010
vor 13 Jahren
<my:GridControl Name="grdRGUe">
                                        <my:GridControl.View>
                                            <my:TableView AutoWidth="True" SelectionChanged="TableViewSelectionChanged" MultiSelectMode="Row"  AllowEditing="False"/>
                                        </my:GridControl.View>
                                        <my:GridControl.Columns>
                                            <my:GridColumn x:Name="columnDatum" Header="Datum" FieldName="AnzeigeDispDat"
GroupInterval="DateRange"/>
                                            <my:GridColumn x:Name="columnVon" Header="Ersteller" FieldName="Ersteller" />
                                        </my:GridControl.Columns>
                                    </my:GridControl>

Ich benutzer das WPF-DataGrid von DevExp.

Beste grüße,
und danke für die Hilfe.

906 Beiträge seit 2005
vor 13 Jahren

bitte nutze ngen um die Exe im Maschinencode zu übersetzen. Das beschleunigt den Start. Dann sollte der Dienst "WPF Schriftcache" (Windows Presentation Foundation-Schriftartcache 3.0.0.0) schon gestartet sein.