Frage

Wenn meine .NET Compact Framework-Anwendung, auf die SD-Karte von einem Windows CE-Gerät zu bewegen, führt das Programm langsamer als es aus dem internen Speicher ausgeführt wird.

Ich dachte, das Start-up langsamer sein könnte, aber es ist das ganze Programm. Es gibt keine IO auf die Speicherkarte.

Warum ist meine Anwendung so langsam und wie funktioniert die kompakten Rahmen Griffe und lädt die Baugruppen?

War es hilfreich?

Lösung

Es hat mit der Nachfrage-Paging zu tun. Ihre Anwendung kann nicht direkt von der SD-Karte ausgeführt werden, als SD nicht ausführbar Medien ist, so dass es in dem RAM gezogen werden muss, laufen. Windows CE nicht typischerweise eine ganze Menge RAM haben, so dass der Lader gesamte Anwendung in den Arbeitsspeicher läuft nicht ziehen. Sicher, Ihre Haufen und Stapel werden in RAM sein, aber der tatsächlichen IL-Code in der Baugruppe selbst ausgelagert in je nach Bedarf. Es ist auch ausgelagert, wenn das System entscheidet, dass es nicht mehr eine bestimmte Seite benötigt.

Das Paging kann einen Einfluss auf die Leistung haben, obwohl ich ein bisschen bin überrascht, dass es eine große Auswirkung ist, wenn die App selbst wirklich groß ist (wie wenn Sie viele eingebettete Ressourcen haben, die es aus der Montage ziehen).

Andere Tipps

ich mit der bisherigen „bedarf Paging“ Antwort von ctacke zustimmen.

Eine Lösung Sie könnten versuchen, ist ein Ladeprogramm von der SD-Karte ausgeführt werden, dass Kopien Ihrer tatsächliche ausführbaren Dateien und DLLs von der Karte auf der Festplatte und dann das Programm von der Lade auszuführen. In der folgenden Ausführungen kann der Lader erkennen, ob die Festplatte Version auf dem neuesten Stand ist, und wenn ja, es nur direkt starten. Wenn die Festplatte Version nicht auf dem neuesten Stand ist, wird der Lader wieder kopiert out-of-date-Dateien von der Karte und dann das eigentliche Programm auszuführen.

Ich habe dies vor von einem Programm durchgeführt an einem entfernten Speicherort im Netzwerk geladen, und es funktionierte sehr gut.

wird einige Gerät Ihr Programm zum Absturz bringen, wenn die Anwendung auf SD-Karte ist. Es kommt vor, während Suspend-Einschalt-Gerät.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top