Czy okno minimalizuje użycie wolnej pamięci?


13

Zarówno niewidoczne zmaksymalizowane okno, jak i zminimalizowane okno są niewidoczne dla użytkownika końcowego. Przez niewidoczne rozumiem nieaktywne zmaksymalizowane okno zakrywane przez aktywne okno.

Istnieje jednak różnica --- która ujawnia się w usługach przełączania aplikacji, tak jak w przypadku Compiz: zmaksymalizowany wygląd okna jest „znany” Menedżerowi okien (stąd może tworzyć miniaturę), podczas gdy zminimalizowane okno jest reprezentowane przez ikonę tylko (wygląd / zawartość okna nie jest obliczana).

Czy to oznacza, że ​​pamięć zostanie zwolniona, gdy okno zostanie zminimalizowane? Czy istnieje ograniczenie narzucone przez pamięć liczby okien, które WM może zmaksymalizować? Jeśli istnieje takie ograniczenie, czy jest ono istotne / istotne?

Wyobraź sobie WM, która nie pozwala na minimalizację (a jedynie przełączanie między zmaksymalizowanymi oknami): czy ta WM nałożyłaby znaczne ograniczenia na użytkownika końcowego z powodu użycia pamięci?

Dzięki za wyjaśnienie tego - może mam zły pomysł.

Odpowiedzi:


10

Zminimalizowanie okna może zwolnić trochę pamięci, ale zależy to od aplikacji i nie będzie miało dużego znaczenia. W każdym razie minimalizacja nie spowoduje większej różnicy niż jakakolwiek inna forma ukrywania.

Nawet jeśli okno aplikacji jest zminimalizowane, nadal działa. Aplikacja nie będzie musiała przechowywać mniej danych w pamięci tylko dlatego, że jedno z jej okien jest zminimalizowane.

Aplikacja jest powiadamiana za każdym razem, gdy jedno z jej okien zostanie zminimalizowane lub przywrócone. Jest również powiadamiany, gdy część jego okna stanie się widoczna lub ukryta. Możliwe, ale mało prawdopodobne, że aplikacja zareaguje inaczej z różnych powodów, dla których jej okno może być ukryte:

  • Można go zminimalizować, co oznacza, że ​​okno nie jest wyświetlane, a na jego miejscu widoczna jest ikona.
  • Można go ukryć za innymi oknami (w tym na pełnym ekranie wygaszacza ekranu).
  • Może być wyświetlany na innym pulpicie, obszarze roboczym, rzutni lub cokolwiek, jak nazywa je menedżer okien.
  • Może być ukryty w inny sposób, na przykład „zacieniony” (co oznacza, że ​​wyświetlany jest tylko pasek tytułu) lub po prostu niezapisany (co oznacza, że ​​menedżer okien zdecydował z jakiegokolwiek powodu, że okno nie powinno być wyświetlane).

Jeśli okno aplikacji jest całkowicie ukryte, aplikacja nie musi odświeżać zawartości okna. Jeśli będzie musiał przydzielić pamięć na odświeżenie tej zawartości, nie zrobi tego, gdy okno jest ukryte. Ponadto, jeśli okno jest ukryte (z jakiegokolwiek powodu), aplikacja może zwolnić trochę pamięci w serwerze X.

W praktyce większa różnica polega na tym, że jeśli okno nie jest wyświetlane, aplikacja nie wykonuje obliczeń w celu przerysowania zawartości, a zatem dane potrzebne do narysowania zawartości można zamienić. Jeśli pamięć RAM jest napięta i istnieje okno, z którym nie będziesz mógł się przez chwilę poddawać iteracji, lepiej jest, jeśli okno nie jest mapowane. Ponownie, powód, dla którego okno nie jest mapowane (ukryte za innymi, zminimalizowane, zacienione, ...) jest nieistotne.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.