Apakah jendela meminimalkan penggunaan memori bebas?

13

Kedua jendela maksimal yang tidak ditampilkan dan jendela yang diperkecil tidak terlihat oleh pengguna akhir. Dengan undisplayed saya maksudkan jendela dimaksimalkan tidak aktif tertutup oleh jendela aktif.

Namun ada perbedaan --- yang menjadi jelas dalam layanan pengalihan aplikasi, seperti halnya dengan Compiz: penampilan jendela yang dimaksimalkan "diketahui" oleh Manajer Jendela (karenanya dapat menghasilkan thumbnail), sedangkan jendela yang diperkecil diwakili oleh ikon hanya (tampilan / isi jendela tidak dihitung).

Jadi apakah ini berarti memori dibebaskan ketika sebuah jendela diminimalkan? Apakah ada batasan yang ditentukan oleh memori pada jumlah jendela yang bisa dimaksimalkan WM? Jika ada batasan seperti itu, apakah substansial / relevan?

Bayangkan WM yang tidak memungkinkan meminimalkan (tetapi hanya beralih di antara jendela yang dimaksimalkan): akankah WM ini memberlakukan batasan yang cukup besar bagi pengguna akhir karena penggunaan memori?

Terima kasih telah membereskan ini --- Saya mungkin punya ide yang salah.

Benjamin
sumber

Jawaban:

10

Meminimalkan jendela mungkin membebaskan sedikit memori, tetapi itu tergantung pada aplikasi, dan itu tidak akan berarti banyak. Bagaimanapun, meminimalkan tidak akan membuat perbedaan lebih dari bentuk persembunyian lainnya.

Bahkan jika jendela aplikasi diminimalkan, itu masih berjalan. Aplikasi tidak perlu menyimpan lebih sedikit data dalam memori hanya karena salah satu jendelanya diperkecil.

Sebuah aplikasi diberitahukan setiap kali salah satu jendelanya diminimalkan atau dipulihkan. Ini juga diberitahu setiap kali bagian jendelanya terlihat atau disembunyikan. Dimungkinkan, tetapi tidak mungkin, bahwa aplikasi akan bereaksi secara berbeda karena berbagai alasan jendelanya mungkin disembunyikan:

  • Ini dapat diminimalkan, artinya jendela tidak ditampilkan dan ikon ditampilkan di tempatnya.
  • Itu dapat disembunyikan di balik jendela lain (termasuk jendela layar penuh screensaver).
  • Itu dapat ditampilkan pada desktop yang berbeda, ruang kerja, viewport, atau apa pun window manager Anda menyebutnya.
  • Ini dapat disembunyikan dengan cara lain, misalnya "berbayang" (artinya hanya bilah judul yang ditampilkan), atau tidak dipetakan (artinya pengelola jendela telah memutuskan untuk alasan apa pun bahwa jendela tidak boleh ditampilkan).

Jika jendela aplikasi sepenuhnya tersembunyi, maka aplikasi tidak perlu me-refresh konten jendela. Jika perlu mengalokasikan memori untuk menyegarkan konten itu, itu tidak akan melakukannya saat jendela disembunyikan. Juga, jika jendela disembunyikan (untuk alasan apa pun), aplikasi mungkin membebaskan sedikit memori di dalam server X.

Apa yang membuat lebih banyak perbedaan dalam praktik adalah bahwa jika jendela tidak ditampilkan, maka aplikasi tidak membuat perhitungan untuk menggambar ulang konten, dan oleh karena itu data yang diperlukan untuk menggambar konten dapat ditukar. Jika RAM ketat dan ada jendela yang tidak akan Anda gunakan untuk sementara waktu, lebih baik jika jendela tidak dipetakan. Sekali lagi, alasan mengapa jendela tidak dipetakan (disembunyikan di belakang orang lain, diminimalkan, diarsir, ...) tidak penting.

Gilles 'SANGAT berhenti menjadi jahat'
sumber