Pencere, boş bellek kullanımını en aza indiriyor mu?


13

Hem görüntülenmeyen büyütülmüş pencere hem de küçültülmüş pencere son kullanıcı tarafından görülemez. Görüntülenmemiş olarak, etkin pencerenin kapsadığı etkin olmayan bir maksimize edilmiş pencereyi kastediyorum.

Ancak bir fark var --- Compiz'de olduğu gibi uygulama değiştirme hizmetlerinde belirginleşiyor: büyütülmüş pencerenin görünümü Pencere Yöneticisi tarafından "biliniyor" (bu nedenle küçük resim üretebilir), küçültülmüş pencere bir simge ile temsil ediliyor yalnızca (pencerenin görünümü / içeriği hesaplanmaz).

Peki bu, bir pencere simge durumuna küçültüldüğünde belleğin serbest bırakıldığı anlamına mı geliyor? Bellek tarafından bir WM'nin en üst düzeye çıkarabileceği pencere sayısına getirilen bir sınır var mı? Böyle bir sınırlama varsa, önemli / ilgili midir?

Küçültmeye izin vermeyen bir WM düşünün (ancak yalnızca büyütülmüş pencereler arasında geçiş yapar): bu WM, bellek kullanımı nedeniyle son kullanıcıya önemli sınırlamalar getiriyor mu?

Bunu temizlediğin için teşekkürler --- yanlış fikrim olabilir.

Yanıtlar:


10

Bir pencereyi simge durumuna küçültmek biraz bellek boşaltabilir, ancak uygulamaya bağlıdır ve çok fazla bir şey olmayacaktır. Her halükarda, en aza indirmek diğer gizlenme biçimlerinden daha fazla fark yaratmaz.

Bir uygulamanın penceresi simge durumuna küçültülse bile, hala çalışıyor. Uygulamanın, pencerelerinden birinin simge durumuna küçültülmesi nedeniyle bellekte daha az veri tutması gerekmez.

Pencerelerinden biri simge durumuna küçültüldüğünde veya geri yüklendiğinde bir uygulama bilgilendirilir. Ayrıca penceresinin bir kısmı görünür veya gizli olduğunda da bildirilir. Uygulamanın, penceresinin gizlenmesinin çeşitli nedenlerine farklı tepki vermesi mümkündür, ancak pek olası değildir:

  • Simge durumuna küçültülebilir, yani pencere gösterilmez ve yerine bir simge gösterilir.
  • Diğer pencerelerin arkasına gizlenebilir (ekran koruyucunun tam ekran penceresi dahil).
  • Farklı bir masaüstünde, çalışma alanında, görünüm alanında veya pencere yöneticiniz bunları ne çağırıyorsa görüntülenebilir.
  • Başka bir şekilde gizlenebilir, örneğin “gölgeli” (yalnızca bir başlık çubuğu gösterilir) veya basitçe eşleştirilmemiş olabilir (yani pencere yöneticisi pencerenin görüntülenmemesi için herhangi bir nedenle karar vermiştir).

Bir uygulamanın penceresi tamamen gizlenmişse, uygulamanın pencere içeriğini yenilemesi gerekmez. Bu içeriği yenilemek için bellek ayırması gerekiyorsa, pencere gizlendiğinde bellek ayırmayacaktır. Ayrıca, bir pencere gizlenirse (herhangi bir nedenle), uygulama X sunucusu içinde biraz bellek açabilir.

Uygulamada daha fazla fark yaratan şey, bir pencere görüntülenmiyorsa, uygulamanın içeriği yeniden çizmek için hesaplamalar yapmaması ve bu nedenle içeriği çizmek için gereken verilerin yer değiştirebilmesidir. RAM sıkıysa ve bir süre için tekrarlamayacağınız bir pencere varsa, pencere eşlenmezse daha iyidir. Yine, pencerenin eşlenmemesinin nedeni (diğerlerinin arkasına gizlenmiş, küçültülmüş, gölgeli, ...) önemsizdir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.