ข่าวสารเทคโนโลยีบทความ

วิศวกร Mozilla เล่าทริกป้องกันเบราว์เซอร์แครชแม้แรมหมด รอ OS เพิ่ม swap

Gabriele Svelto วิศกรของ Mozilla เขียนบล็อกเล่าถึงทริกการลดอัตราการแครชของไฟร์ฟอกซ์บนวินโดวส์ที่ใช้ตั้งแต่เวอร์ชั่น 105 ว่าสาเหตุสำคัญของการแครชอย่างหนึ่งคือแรมหมดทั้งแรมจริงๆ และไฟล์ swap ของระบบปฎิบัติการ

ปกติแล้วหากหน่วยความจำหมดทั้งหน่วยความจำจริงๆ และ swap นั้นระบบปฎิบัติการจะคืนค่า error เมื่อซอฟต์แวร์ร้องขอหน่วยความจำเพิ่มเติม จากนั้นตัวโปรแกรมก็จะปิดตัวเองไป

แต่ในไฟร์ฟอกซ์ 105 ทีมพัฒนาเปลี่ยนกลไกส่วนนี้ในวินโดวส์ เนื่องจากวินโดวส์มีความสามารถเพิ่มขนาดไฟล์ swap ได้เองเมื่อพื้นที่ใกล้เต็ม ดังนั้นหากตัวเบราว์เซอร์รออีกสักหน่อยแล้วขอหน่วยความจำอีกครั้งก็มักจะขอได้

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

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

อัตราการแครชหลัง Firefox 105

ที่มา: mozilla.org