การวินิจฉัยประสิทธิภาพ

ทำไม Monosnap ถึงช้าลงมาก — และวิธีแก้ไข

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

การเริ่มต้นแบบ Cold start จนพร้อมจับภาพครั้งแรก
Monosnap3.2 s
Maxisnap1.1 s
ความหน่วงในการจับภาพไปยังโปรแกรมแก้ไข
Monosnap1.5–5 s
Maxisnap< 200 ms
RAM ที่ไม่ได้ใช้งานหลังจาก 8 ชั่วโมง
Monosnap~800 MB
Maxisnap~50 MB
ความหน่วงในการใส่คำอธิบายประกอบในโปรแกรมแก้ไข
Monosnapสังเกตเห็นได้
Maxisnapไม่สามารถรับรู้ได้

ภาระของ Electron ที่เพิ่มขึ้นเรื่อยๆ

Monosnap ไม่ได้’เริ่มต้นเป็นแอปพลิเคชัน Electron ในช่วงแรกของการพัฒนา โค้ดการจับภาพและแก้ไขส่วนใหญ่เป็นแบบเนทีฟ เมื่อเวลาผ่านไป ส่วนประกอบ UI ได้รับการสร้างใหม่บน Chromium renderer — ซึ่งทำให้ง่ายต่อการพัฒนาซ้ำ แต่ก็เพิ่มภาระค่าใช้จ่ายในการเริ่มต้นที่มากและถาวร

Electron ไม่ได้’เบาลงเมื่อเวลาผ่านไป ทุกปี Chromium จะเพิ่มคุณสมบัติใหม่ๆ ส่งโค้ดเพิ่มขึ้น, ใช้หน่วยความจำพื้นฐานมากขึ้น, และการเริ่มต้นที่ซับซ้อนขึ้น แอปที่เคยใช้หน่วยความจำ 60 MB ในปี 2019 ตอนนี้ใช้ขั้นต่ำ 180 MB เมื่อเปิดใช้งาน และเพิ่มขึ้นจากนั้น นั่น’ยังไม่รวมถึงปัญหาหน่วยความจำรั่วที่เราได้กล่าวถึงใน หน้าปัญหาหน่วยความจำรั่ว.

เมื่อคุณกด Ctrl+Alt+5, Monosnap ต้องวอร์มอัป Chromium renderer เพื่อแสดงโอเวอร์เลย์การจับภาพ ในแอปที่ยังไม่ได้ใช้งาน’ใช้เวลาหลายร้อยมิลลิวินาที ในแอปที่เปิดใช้งานมานานและใช้หน่วยความจำไปแล้วหลายร้อยเมกะไบต์ มัน’ใช้เวลานานขึ้น เมื่อถึงชั่วโมงที่ห้าของการทำงาน การแสดงผลโอเวอร์เลย์จะช้าลงจนผู้ใช้สังเกตเห็นความแตกต่างได้

โปรแกรมแก้ไขคำอธิบายประกอบคือตัวการที่แย่ที่สุด

หน้าต่างแก้ไขหลังการจับภาพเกือบทั้งหมดเป็น Chromium webview เมื่อคุณวางลูกศรหรือวาดสี่เหลี่ยม เครื่องมือจะส่งเหตุการณ์ผ่าน Electron’s IPC boundary ไปยังกระบวนการเนทีฟแล้วกลับมาอีกครั้ง การเดินทางไปกลับนั้นรวดเร็วในกระบวนการที่เพิ่งเริ่มต้น และจะหน่วงอย่างเห็นได้ชัดเมื่อกระบวนการมีการโหลดข้อมูลจำนวนมาก

สำหรับผู้ใช้ที่ต้องใส่คำอธิบายประกอบจำนวนมาก — รายงานข้อผิดพลาด, บทช่วยสอน, เอกสาร — สิ่งนี้สะสมเพิ่มขึ้น การใส่คำอธิบายประกอบสิบนาทีรู้สึกเหมือนยี่สิบนาที

Maxisnap: ไม่มี Electron, ไม่มีภาระ

Maxisnap’s editor เป็นหน้าต่าง PyQt6 แบบเนทีฟ แคนวาสสำหรับคำอธิบายประกอบใช้ QPainter โดยตรงบน QPixmap.’s ไม่มี webview, ไม่มี IPC boundary ระหว่างตรรกะของเครื่องมือกับพื้นผิวการเรนเดอร์ เมื่อคุณวางลูกศร มันจะปรากฏขึ้นในรอบการวาดถัดไป ไม่มีการเดินทางไปกลับ

การเริ่มต้นแบบ Cold start จากถาดระบบจนพร้อมจับภาพใช้เวลาประมาณหนึ่งวินาทีบนเครื่องทั่วไป การจับภาพไปยังโปรแกรมแก้ไขใช้เวลาน้อยกว่า 200 มิลลิวินาที ตัวเลขเหล่านี้ยังคงเท่าเดิมที่ชั่วโมงที่ 1, ชั่วโมงที่ 4, ชั่วโมงที่ 8 และชั่วโมงที่ 72 แอปไม่’t เสื่อมประสิทธิภาพลงเมื่อเวลาผ่านไปเพราะ’s ไม่มีอะไรสะสม

เปลี่ยนใน 60 วินาที

เรียกคืนความเร็วของคุณ

  1. 1
    ดาวน์โหลดตัวติดตั้ง หน้าดาวน์โหลด, 63 MB, ฟรี
  2. 2
    ปิด Monosnap จากถาดระบบ เพื่อไม่ให้ทั้งสองแอป’t แย่ง hotkey กัน
  3. 3
    ติดตั้ง ค่าเริ่มต้นก็ใช้ได้ ไม่ต้องรีบูต
  4. 4
    กด Ctrl+Alt+5 สังเกตว่าโปรแกรมแก้ไขเปิดขึ้นก่อนที่คุณ’ve ปล่อยปุ่ม
FAQ

คำถามเกี่ยวกับประสิทธิภาพ

ฉันสามารถเร่ง Monosnap ได้โดยไม่ต้องเปลี่ยนไปใช้ Maxisnap ได้หรือไม่?

เล็กน้อย ปิดแอปเมื่อสิ้นสุดวันแทนที่จะปล่อยให้ทำงานต่อไป ยกเลิกการเลือก "Start minimized" ปิดใช้งานคุณสมบัติการซิงค์คลาวด์ที่คุณไม่’t ใช้ สิ่งเหล่านี้ไม่ได้แก้ไขปัญหาโครงสร้างที่ซับซ้อน แต่ก็ช่วยได้เล็กน้อย

Maxisnap เป็น’คุณภาพการจับภาพเหมือนกันหรือไม่?

เหมือนกันทุกประการ. เอาต์พุตเป็น PNG ที่ความละเอียดเต็ม, ไม่มีการสูญเสีย. รองรับ JPEG ด้วยคุณภาพที่กำหนดค่าได้. ไม่มี’การลดขนาดหรือปรับขนาด เว้นแต่คุณจะเพิ่มเองผ่านเครื่องมือครอบตัด.

Maxisnap รองรับการจับภาพแบบเลื่อนหรือไม่?

ยังไม่รองรับ. หากการจับภาพแบบเลื่อนเป็นสิ่งจำเป็นสำหรับขั้นตอนการทำงานของคุณ, ShareX หรือ Snagit จะเหมาะสมกว่า. สำหรับการจับภาพพื้นที่ / เต็มหน้าจอ / หน้าต่างมาตรฐานพร้อมคำอธิบายประกอบ, Maxisnap ทำงานได้เร็วกว่าและเบากว่า.

เครื่องมือจับภาพหน้าจอที่ยังคงความเร็ว.

ไม่ต้องวอร์มอัพ. ไม่มีอาการหน่วง. ไม่ต้องรีสตาร์ทบ่อยๆ.

ดาวน์โหลด Maxisnap

ที่เกี่ยวข้อง: memory leak · ค้าง · มันตายแล้วหรือ?