Minimiert das Fenster die Nutzung des freien Speichers?

13

Sowohl das nicht angezeigte maximierte Fenster als auch das minimierte Fenster sind für den Endbenutzer unsichtbar. Mit undisplayed meine ich ein inaktives maximiertes Fenster, das vom aktiven Fenster abgedeckt wird.

Es gibt jedoch einen Unterschied --- der sich bei Diensten zum Wechseln von Anwendungen wie bei Compiz bemerkbar macht: Das Erscheinungsbild des maximierten Fensters ist dem Fenstermanager "bekannt" (daher kann es ein Miniaturbild erzeugen), während das minimierte Fenster durch ein Symbol dargestellt wird nur (das Aussehen / der Inhalt des Fensters wird nicht berechnet).

Bedeutet dies, dass Speicher freigegeben wird, wenn ein Fenster minimiert wird? Gibt es eine Speicherbeschränkung für die Anzahl der Fenster, die eine WM maximiert haben kann? Wenn es eine solche Einschränkung gibt, ist sie wesentlich / relevant?

Stellen Sie sich ein WM vor, das keine Minimierung zulässt (sondern nur zwischen maximierten Fenstern wechselt): Würde dieses WM dem Endbenutzer aufgrund der Speichernutzung erhebliche Einschränkungen auferlegen?

Vielen Dank, dass Sie das geklärt haben. Vielleicht habe ich die falsche Idee.

Benjamin
quelle

Antworten:

10

Durch das Minimieren eines Fensters wird möglicherweise ein wenig Speicher freigegeben, dies hängt jedoch von der Anwendung ab und wird nicht viel ausmachen. In jedem Fall macht das Minimieren keinen größeren Unterschied als jede andere Form des Versteckens.

Auch wenn das Fenster einer Anwendung minimiert ist, wird sie weiterhin ausgeführt. Die Anwendung muss nicht weniger Daten im Speicher behalten, nur weil eines ihrer Fenster minimiert ist.

Eine Anwendung wird benachrichtigt, wenn eines ihrer Fenster minimiert oder wiederhergestellt wird. Es wird auch benachrichtigt, wenn ein Teil seines Fensters sichtbar oder versteckt wird. Es ist möglich, aber unwahrscheinlich, dass die Anwendung aus verschiedenen Gründen anders reagiert, wenn ihr Fenster ausgeblendet wird:

  • Es kann minimiert werden, was bedeutet, dass das Fenster nicht angezeigt wird und an seiner Stelle ein Symbol angezeigt wird.
  • Es kann sich hinter anderen Fenstern verbergen (einschließlich des Vollbildfensters eines Bildschirmschoners).
  • Es kann auf einem anderen Desktop, in einem anderen Arbeitsbereich, in einem anderen Ansichtsfenster oder wie auch immer Ihr Fenstermanager dies nennt, angezeigt werden.
  • Sie kann auf andere Weise ausgeblendet werden, z. B. „schattiert“ (dh es wird nur eine Titelleiste angezeigt) oder einfach nicht zugeordnet (dh der Fenstermanager hat entschieden, aus welchem ​​Grund das Fenster nicht angezeigt werden soll).

Wenn das Fenster einer Anwendung vollständig ausgeblendet ist, muss die Anwendung den Fensterinhalt nicht aktualisieren. Wenn Speicher zum Aktualisieren dieses Inhalts reserviert werden muss, wird dies nicht ausgeführt, solange das Fenster ausgeblendet ist. Wenn ein Fenster (aus irgendeinem Grund) ausgeblendet ist, gibt die Anwendung möglicherweise etwas Speicherplatz auf dem X-Server frei.

In der Praxis macht es einen größeren Unterschied, dass wenn ein Fenster nicht angezeigt wird, die Anwendung keine Berechnungen zum erneuten Zeichnen des Inhalts durchführt und daher die zum Zeichnen des Inhalts erforderlichen Daten ausgetauscht werden können. Wenn der Arbeitsspeicher knapp ist und es ein Fenster gibt, mit dem Sie eine Weile nicht arbeiten werden, ist es besser, wenn das Fenster nicht zugeordnet ist. Auch hier ist der Grund, warum das Fenster nicht zugeordnet ist (versteckt hinter anderen, minimiert, schattiert, ...), unwichtig.

Gilles 'SO - hör auf böse zu sein'
quelle