หน้าต่างลดการใช้หน่วยความจำฟรีให้น้อยที่สุดหรือไม่


13

ทั้งหน้าต่างขยายใหญ่สุดที่ไม่แสดงและหน้าต่างย่อเล็กสุดจะไม่ปรากฏให้ผู้ใช้เห็น โดยไม่แสดงผลฉันหมายถึงหน้าต่างที่ขยายใหญ่สุดที่ไม่ได้ใช้งานซึ่งอยู่ในหน้าต่างที่ใช้งานอยู่

มีความแตกต่างกัน --- ซึ่งเห็นได้ชัดในบริการเปลี่ยนแอปพลิเคชันเช่นเดียวกับ Compiz: ลักษณะที่ปรากฏของหน้าต่างที่ขยายใหญ่สุดคือ "รู้จัก" สำหรับ Window Manager (ดังนั้นจึงสามารถสร้างภาพขนาดย่อ) ในขณะที่หน้าต่างย่อเล็กสุดแสดงด้วยไอคอน เท่านั้น (ไม่ได้คำนวณลักษณะที่ปรากฏ / เนื้อหาของหน้าต่าง)

ดังนั้นนี่หมายความว่าหน่วยความจำจะถูกปลดปล่อยเมื่อหน้าต่างย่อเล็กสุด? หน่วยความจำ จำกัด ตามจำนวนหน้าต่างที่ WM สามารถขยายให้ใหญ่สุดได้หรือไม่? หากมีข้อ จำกัด ดังกล่าวมีความเกี่ยวข้องหรือไม่?

ลองนึกภาพ WM ที่ไม่อนุญาตให้ย่อเล็กสุด (แต่เพียงสลับไปมาระหว่างหน้าต่างที่ขยายใหญ่สุด): WM นี้จะกำหนดข้อ จำกัด จำนวนมากให้กับผู้ใช้เนื่องจากการใช้หน่วยความจำหรือไม่?

ขอบคุณสำหรับการล้างข้อมูล --- ฉันอาจมีความคิดที่ผิด

คำตอบ:


10

การย่อขนาดหน้าต่างอาจเพิ่มหน่วยความจำเพียงเล็กน้อย แต่ขึ้นอยู่กับแอปพลิเคชันและจะไม่เพิ่มจำนวนมากนัก ไม่ว่าในกรณีใดการย่อขนาดจะไม่ทำให้แตกต่างไปจากการซ่อนรูปแบบอื่น ๆ

แม้ว่าหน้าต่างของแอปพลิเคชั่นจะย่อเล็กสุด แต่มันก็ยังทำงานอยู่ แอปพลิเคชันไม่จำเป็นต้องเก็บข้อมูลในหน่วยความจำให้น้อยลงเพียงเพราะหน้าต่างใดหน้าต่างหนึ่งถูกย่อให้เล็กสุด

แอปพลิเคชันจะได้รับแจ้งเมื่อใดก็ตามที่หน้าต่างใดบานหนึ่งถูกย่อให้เล็กสุดหรือเรียกคืน นอกจากนี้ยังได้รับแจ้งเมื่อใดก็ตามที่หน้าต่างบางส่วนมองเห็นหรือซ่อนอยู่ เป็นไปได้ แต่ไม่น่าเป็นไปได้ว่าแอปพลิเคชันจะตอบสนองแตกต่างกันไปตามเหตุผลต่าง ๆ ที่อาจซ่อนหน้าต่าง:

  • มันสามารถย่อให้เล็กสุดได้ซึ่งหมายความว่าหน้าต่างจะไม่แสดงและไอคอนจะปรากฏขึ้นแทน
  • มันสามารถซ่อนอยู่หลังหน้าต่างอื่น ๆ (รวมถึงหน้าต่างเต็มหน้าจอของสกรีนเซฟเวอร์)
  • มันสามารถแสดงผลบนเดสก์ท็อปที่แตกต่างกันพื้นที่ทำงานวิวพอร์ตหรือสิ่งที่ผู้จัดการหน้าต่างของคุณเรียกเหล่านี้
  • มันสามารถซ่อนในลักษณะอื่น ๆ เช่น“ แรเงา” (หมายถึงเฉพาะแถบชื่อเรื่องจะปรากฏขึ้น) หรือเพียงแค่ไม่ได้แมป (หมายถึงตัวจัดการหน้าต่างได้ตัดสินใจด้วยเหตุผลใดก็ตามที่ไม่ควรแสดงหน้าต่าง)

หากหน้าต่างของแอปพลิเคชันถูกซ่อนอย่างสมบูรณ์แอปพลิเคชันไม่จำเป็นต้องรีเฟรชเนื้อหาของหน้าต่าง หากจำเป็นต้องจัดสรรหน่วยความจำเพื่อรีเฟรชเนื้อหานั้นจะไม่สามารถทำได้ในขณะที่ซ่อนหน้าต่าง นอกจากนี้หากหน้าต่างถูกซ่อน (ไม่ว่าจะด้วยเหตุผลใดก็ตาม) แอปพลิเคชันอาจเพิ่มหน่วยความจำเล็กน้อยภายในเซิร์ฟเวอร์ X

สิ่งที่ทำให้เกิดความแตกต่างในทางปฏิบัติมากขึ้นคือถ้าไม่มีการแสดงหน้าต่างแอปพลิเคชันจะไม่ทำการคำนวณเพื่อเขียนเนื้อหาใหม่ดังนั้นข้อมูลที่จำเป็นในการวาดเนื้อหาจึงสามารถเปลี่ยนได้ ถ้า RAM แน่นและมีหน้าต่างที่คุณไม่ต้องทำซ้ำอีกสักพักมันจะดีกว่าถ้าหน้าต่างนั้นไม่ได้ถูกแมป อีกครั้งสาเหตุที่ทำให้หน้าต่างไม่ได้แมป (ซ่อนอยู่หลังหน้าต่างอื่น ๆ ย่อเล็กสุดแรเงา ... ) นั้นไม่สำคัญ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.