Das Leck ist nicht Ihr Computer
Falls Sie sich gefragt haben, ob es an Ihrem Rechner liegt – einem alten Treiber, Windows 11-Eigenheiten, einem außer Kontrolle geratenen Chrome-Tab – dem ist nicht so. Das Leck befindet sich in Monosnap und das schon seit Jahren. Suchen Sie auf r/monosnap und Sie werden einen Thread nach dem anderen finden, der dasselbe Muster beschreibt.
So funktioniert es im Hintergrund. Jedes Mal, wenn Monosnap einen Bereich erfasst, weist es einen Frame-Puffer zu, der groß genug ist, um die Rohpixeldaten aufzunehmen. Für einen 2560 x 1440 Bildschirm sind das etwa 14 MB. Wenn der Editor geschlossen wird, sollten diese Puffer an das Betriebssystem zurückgegeben werden. In Monosnap geschieht dies oft nicht – sie werden vom Electron-Renderer-Heap zurückgehalten und warten auf einen Garbage-Collection-Durchlauf, der entweder nie oder zu spät ausgeführt wird. Über einen Arbeitstag mit über 40 Aufnahmen sammeln sich die zurückgehaltenen Puffer zu Hunderten von Megabyte phantomhaftem RAM an.
Die Lösung ist eine andere App
Die Architektur von Monosnap verbindet das Leck mit Electron selbst, und ein Patch würde eine Neuschreibung der Erfassungspipeline erfordern. Diese Neuschreibung ist seit fünf Jahren nicht erfolgt. Die praktische Lösung ist ein Tool, das von vornherein ohne dieses Problem konzipiert wurde.
Maxisnap basiert auf PyQt6 und wird mit PyInstaller zu einer einzigen Win32-Ausführungsdatei kompiliert. Es gibt keinen Chromium-Prozess. Jede Aufnahme weist einen QImage, der Editor referenziert ihn, und wenn das Fenster geschlossen wird, wird die Referenz freigegeben und der Speicher kehrt sofort zum Betriebssystem zurück – da PyQts Besitzmodell und Pythons Referenzzählung beide sofort freigeben, anstatt auf eine generationelle Garbage Collection zu warten.
Empirisch: Maxisnap im Leerlauf beim Start liegt bei etwa 50 MB. Nach 72 Stunden Dauerbetrieb mit regelmäßigen Aufnahmen sind es immer noch etwa 50 MB. Die obige Grafik stammt aus tatsächlichen Protokollen.
Wechselprozedur
- 0:00Maxisnap herunterladen. Gehen Sie zur Download-Seite. Ein Klick, 63 MB.
- 0:15Beenden Sie Monosnap. Klicken Sie mit der rechten Maustaste auf das Tray-Symbol und wählen Sie „Beenden“. Beobachten Sie, wie Ihr RAM um 600 MB sinkt.
- 0:30Führen Sie das Installationsprogramm aus. Standard-Installationspfad, kein Neustart erforderlich.
- 0:45Drücken Sie Ctrl+Alt+5. Ihre erste Aufnahme mit derselben Tastenkombination, die Sie schon immer verwendet haben. Der Editor öffnet sich sofort.
- 0:60Fertig. Fügen Sie Ihre SFTP/S3-Anmeldeinformationen in den Einstellungen ein, wenn Sie einen Server-Upload wünschen.
Fragen zu Speicherlecks
Ich mache nur 5 Screenshots pro Tag. Betrifft mich das Leck trotzdem?
Weniger stark, aber ja. Der Leerlaufspeicher wächst weiterhin, da Monosnap die Zwischenablage und die Systemablage abfragt, auch wenn Sie keine Aufnahmen machen. Das Wachstum ist bei geringer Nutzung langsamer, hört aber nie auf.
Hilft ein Neustart der App?
Vorübergehend. Beenden und neu starten, und Sie sind wieder bei ~180 MB. Aber die meisten Benutzer, die das Leck bemerken, sind dort angelangt, weil sie ihr Screenshot-Tool den ganzen Tag laufen lassen, und es mehrmals neu zu starten, ist das Gegenteil dessen, was sie wollen.
Wie sieht es mit Monosnap unter macOS aus?
Das Leck ist unter macOS weniger schwerwiegend, da das Speichermodell anders ist, aber Benutzer berichten immer noch von einem allmählichen Wachstum. Maxisnaps macOS-Build ist experimentell. Für Windows wechseln Sie noch heute.
Ihr RAM wird es Ihnen danken
Maxisnap ist kostenlos. Die Installation dauert 60 Sekunden. Dieselben Tastenkombinationen, die Sie bereits verwenden.
Maxisnap herunterladenVerwandt: warum es langsam wurde · Fix für Einfrieren · allgemeine Alternative