ปัญหาหน่วยความจำรั่วไม่ได้เกิดจากคอมพิวเตอร์ของคุณ
หากคุณสงสัยว่าปัญหาเกิดจากเครื่องของคุณหรือไม่ — ไดรเวอร์เก่า, ความผิดปกติของ Windows 11, แท็บ Chrome ที่ทำงานผิดปกติ — มันไม่ใช่ ปัญหาหน่วยความจำรั่วอยู่ภายใน Monosnap และเป็นมานานหลายปีแล้ว ค้นหา r/monosnap แล้วคุณจะพบกระทู้แล้วกระทู้เล่าที่อธิบายรูปแบบเดียวกัน
นี่คือสิ่งที่เกิดขึ้นเบื้องหลัง ทุกครั้งที่ Monosnap จับภาพพื้นที่ มันจะจัดสรรเฟรมบัฟเฟอร์ที่มีขนาดใหญ่พอที่จะเก็บข้อมูลพิกเซลดิบได้ สำหรับหน้าจอขนาด 2560 x 1440 นั่นคือประมาณ 14 MB เมื่อโปรแกรมแก้ไขปิดลง บัฟเฟอร์เหล่านั้นควรถูกปล่อยคืนสู่ระบบปฏิบัติการ แต่ใน Monosnap บ่อยครั้งที่มันไม่ถูกปล่อย — มันถูกเก็บไว้โดยฮีปของ Electron renderer รอการทำงานของ garbage-collection ที่ไม่เคยทำงานหรือทำงานช้าเกินไป ในวันทำงานที่มีการจับภาพมากกว่า 40 ครั้ง บัฟเฟอร์ที่ถูกเก็บไว้จะสะสมเป็นหน่วยความจำ RAM ปริมาณหลายร้อยเมกะไบต์ที่มองไม่เห็น
ทางแก้คือแอปพลิเคชันอื่น
สถาปัตยกรรมของ Monosnap ผูกปัญหาหน่วยความจำรั่วเข้ากับ Electron เอง และการแก้ไขจะต้องเขียนโค้ดส่วนการจับภาพใหม่ทั้งหมด การเขียนใหม่นั้นยังไม่เกิดขึ้นมาห้าปีแล้ว ทางแก้ที่เป็นไปได้คือเครื่องมือที่ถูกออกแบบมาโดยไม่มีปัญหานี้ตั้งแต่แรก
Maxisnap สร้างขึ้นบน PyQt6 และคอมไพล์ด้วย PyInstaller ให้เป็นไฟล์ปฏิบัติการ Win32 ไฟล์เดียว ไม่มีกระบวนการ Chromium การจับภาพแต่ละครั้งจะจัดสรร QImage, โปรแกรมแก้ไขจะอ้างอิงถึงมัน และเมื่อหน้าต่างปิดลง การอ้างอิงจะถูกยกเลิกและหน่วยความจำจะกลับคืนสู่ระบบปฏิบัติการทันที — เนื่องจากโมเดลการเป็นเจ้าของของ PyQt และการนับการอ้างอิงของ Python ทั้งคู่จะปล่อยหน่วยความจำทันทีโดยไม่ต้องรอ generational GC
จากการทดลอง: Maxisnap เมื่อไม่ได้ใช้งานตอนเริ่มต้นจะอยู่ที่ประมาณ 50 MB หลังจากทำงานต่อเนื่อง 72 ชั่วโมงพร้อมกับการจับภาพเป็นประจำ ก็ยังคงอยู่ที่ประมาณ 50 MB แผนภูมิด้านบนมาจากบันทึกจริง
ขั้นตอนการเปลี่ยน
- 0:00ดาวน์โหลด Maxisnap ไปที่ หน้าดาวน์โหลด. คลิกเดียว, 63 MB.
- 0:15ออกจาก Monosnap คลิกขวาที่ไอคอนในถาดระบบ เลือก 'ออก' แล้วดู RAM ของคุณลดลง 600 MB
- 0:30เรียกใช้โปรแกรมติดตั้ง เส้นทางการติดตั้งเริ่มต้น ไม่ต้องรีบูตเครื่อง
- 0:45กด Ctrl+Alt+5 การจับภาพครั้งแรกของคุณด้วยคีย์ลัดเดียวกันกับที่คุณเคยใช้ โปรแกรมแก้ไขจะเปิดขึ้นทันที
- 0:60เสร็จสิ้น วางข้อมูลรับรอง SFTP/S3 ของคุณในการตั้งค่า หากคุณต้องการอัปโหลดไปยังเซิร์ฟเวอร์
คำถามเกี่ยวกับปัญหาหน่วยความจำรั่ว
ฉันจับภาพหน้าจอเพียงวันละ 5 ครั้ง ปัญหานี้ยังคงส่งผลกระทบต่อฉันหรือไม่?
น้อยลง แต่ก็ยังคงส่งผลกระทบ หน่วยความจำที่ไม่ได้ใช้งานยังคงเพิ่มขึ้นเนื่องจาก Monosnap ตรวจสอบคลิปบอร์ดและถาดระบบแม้ในขณะที่คุณไม่ได้จับภาพ การเพิ่มขึ้นจะช้าลงเมื่อใช้งานน้อย แต่ก็ไม่เคยหยุด
การรีสตาร์ทแอปช่วยได้หรือไม่?
ชั่วคราว ออกจากแอปแล้วเปิดใหม่ คุณจะกลับมาที่ประมาณ 180 MB แต่ผู้ใช้ส่วนใหญ่ที่สังเกตเห็นปัญหานี้เป็นเพราะพวกเขาเปิดเครื่องมือจับภาพหน้าจอทิ้งไว้ตลอดทั้งวัน และการรีสตาร์ทหลายครั้งไม่ใช่สิ่งที่พวกเขาต้องการ
แล้ว Monosnap บน macOS ล่ะ?
ปัญหาหน่วยความจำรั่วรุนแรงน้อยกว่าบน macOS เนื่องจากโมเดลหน่วยความจำแตกต่างกัน แต่ผู้ใช้ยังคงรายงานการเพิ่มขึ้นอย่างค่อยเป็นค่อยไป Maxisnap เวอร์ชัน macOS ยังอยู่ในช่วงทดลอง สำหรับ Windows ให้เปลี่ยนมาใช้เลยวันนี้
RAM ของคุณจะขอบคุณคุณ
Maxisnap ฟรี ใช้เวลาติดตั้ง 60 วินาทีคีย์ลัดเดียวกันกับที่คุณเคยใช้
ดาวน์โหลด Maxisnapที่เกี่ยวข้อง: ทำไมถึงช้าลง · แก้ไขปัญหาค้าง · ทางเลือกทั่วไป