Frage

alle Desktop-Anwendungen Bei der Gestaltung gibt es keine allgemeinen Regeln, wie viel Speicher sollte die Anwendung verwendet?

Für schwere Anwendungen, jene leicht verstanden werden kann oder zumindest profiliert wie Firefox oder Google Chrome. Aber für kleinere Dienstprogramme oder Line-of-Business-Anwendung, wie viel ist eine akzeptable Menge an Speichernutzung?

Ich fragte, weil ich vor kurzem über einen Kompromiss zwischen Speichernutzung und Performance und Wundern gekommen bin, ob es ein allgemeiner Konsens ist es in Bezug auf?

EDIT: Plattform ist Windows XP für Benutzer mit Maschine nur fähig ist Rich-Internet-Anwendungen ausgeführt werden

.

Mein spezifisches Trade-off Problem ist, über eine Menge Bilder im Speicher-Caching. Wenn möglich, würde ich gerne meinen App-Cache so viel haben, wie das Gedächtnis des Benutzers ermöglicht. Ich habe es getan, damit die Anwendung bis zu einer bestimmten Höchstgrenze zwischengespeichert wird Speicherdruck im Moment betrachten. .

Aber was wäre eine gute Zahl sein? Wie kommen Sie mit einem nach oben? Das ist der Punkt, den ich zu fragen.

War es hilfreich?

Lösung

Es gibt keine absolute Antwort dafür. Es hängt von zu vielen Variablen.

Hier sind einige Kompromisse für die Prüfung:

  • Welches Gerät / Plattform sind für Sie entwickeln?
  • Erwarten Sie Ihre Benutzer für ihre Computer mit dieser Software als Hauptzweck zu verwenden (zB vielleicht sind Sie eine Art von Server-Software zu entwickeln)
  • Wer ist Ihre Zielgruppe, Heimanwender? Power-User?
  • Sind Sie realistische Erwartungen für die Menge an RAM macht ein Benutzer haben?
  • Nehmen Sie in Betracht, dass der Benutzer auch eine Menge anderer Software auf dem Computer verwenden?

Manchmal ist es möglich, Ihren Kuchen zu haben und ihn auch zu essen. Zum Beispiel, wenn Sie eine Datei gelesen haben und es wieder heraus zu schreiben, können Sie es Chunk Chunk lesen, anstatt die gesamte Datei in den Speicher lesen und schreiben sie dann aus. In diesem Fall haben Sie eine bessere Speichernutzung und keine Geschwindigkeitsabnahme.

Ich würde generell mehr RAM zu verwenden, empfehlen eine bessere Geschwindigkeit zu bekommen, wenn Sie müssen. Aber nur, wenn die RAM-Anforderungen sind realistisch für Ihre Zielgruppe. Wenn Sie zum Beispiel erwarten, dass ein Benutzer zu Hause, die 1 GB RAM hat Ihr Programm zu verwenden, dann verwenden Sie keine 600 MB RAM selbst.

Betrachten Sie mehr RAM in diesem Fall mit besserer Geschwindigkeit zu bekommen, und einige anderen Teile des Codes zu optimieren weniger RAM zu verwenden.

Edit:

Wir über Ihre spezifische Situation von Caching-Bilder. Ich denke, es wäre am besten für Sie, damit der Benutzer die Menge des Caching setzen sie gerne als Option auszuführen. Auf diese Weise Menschen mit viel RAM kann es für eine bessere Leistung gezeigt höher, und die Menschen mit wenig RAM kann es niedrig eingestellt.

Andere Tipps

Das hängt ganz von der Zielplattform, die mehr oder weniger eine Geschäftsentscheidung ist. Je mehr Speicher Sie benötigen, desto weniger Kunden in der Lage sein, Ihre Software zu nutzen. Einige Fragen zu stellen: Wie viel Speicher Ihre Kunden (oder potenzielle Kunden) haben in ihren Computern installiert? Welche anderen Anwendungen werden sie laufen gleichzeitig mit der Anwendung? Ist Ihre Anwendung etwas (wie ein Vollbild-Computerspiel) zu laufen ausschließlich angenommen, oder ein Dienstprogramm, das sollte vor allem im Hintergrund ausgeführt werden, oder aus anderen Anwendungen in sie eingeschaltet wird oft?

Hear ist ein Beispiel einer Umfrage eine Verteilung der installierten RAM in den Systemen der Menschen zeigt, Spiele über Steam (Quelle spielen: Valve - Umfrage Zusammenfassung Daten ):

  • Weniger als 96 Mb 0,01%
  • 96 Mb bis 127 Mb 0,01%
  • 128 Mb bis 255 Mb 0,21%
  • 256 Mb bis 511 Mb 5,33%
  • 512 Mb bis 999 Mb 19,81%
  • 1 Gb bis 1,49 Gb 30,16%
  • 1,5 Gb bis 1,99 Gb 6,10%
  • 2,0 Gb 38,37%

Eine Schlussfolgerung, die ich aus einer Umfrage wie diese in meiner Domain (Computerspielen) ziehen würde, ist ich vernünftigerweise erwarten kann, fast alle unsere Nutzer mit 512 MB oder mehr, und überwiegende Mehrheit mit 1 GB oder mehr. Für ein Computerspiel, das exklusiv ausgeführt werden sollte, bedeutet dies Workingset rund 400 MB ist ziemlich sicher und wird begrenzen fast niemanden, und wenn es einen signifikanten Mehrwert für das Produkt bereitstellt, kann es einen Sinn hat einen Arbeitssatz zu haben, ca. 800 MB.

Dies hängt von Ihrer Ziel-PC-Hardware. Wenn Ihre Anwendung zu viel Speicher verwendet, dann wird es während Windows Seiten langsam sein. PRÜFUNG! Probieren Sie beide Optionen in Ihrem Kompromiss, und einige dazwischen, wenn es Sinn macht. Führen Sie die Tests auf einer typischen Maschine, die Ihre Benutzer verwenden würde und mit einer vernünftigen Anzahl von anderen Anwendungen geöffnet. Also für die meisten Menschen, die Outlook und wahrscheinlich eine Instanz oder 2 des Internet Explorer (oder der Mail-Client / Browser Ihrer Wahl) ist. Ich arbeite in einer Organistion, wo Anwendungen meiner Anwendung sind wahrscheinlich auch einige andere benutzerdefinierte Anwendungen ausgeführt werden, so dass wir mit denen, testen, wie gut läuft. Wir haben festgestellt, dass unsere Anwendung zu viel Speicher verwendet, und macht die Anwendung Schalt quälend langsam so haben wir unsere Anwendung etwas verlangsamt seine Speicherverbrauch zu reduzieren. Wenn Sie Interesse unsere Zielhardware sind ursprünglich 512Mb Maschinen becuase das war, was unsere gemeinsamen Standard-Spezifikation Arbeitsplatz war. Mehrere PCs hatte allerdings becuase dieser Anwendung auf 1 GB aufgerüstet werden. Wir haben nun seine RAM-Nutzung ein bisschen getrimmt, aber es in VB .NET geschrieben wird, und die meisten der Speicher scheint verwendet das Framework zu sein. PerfMon sagt der Prozess aroung 200Mb verwendet (peak) aber, dass das verwaltete Heap ist nur etwa 2 MB!

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