La perdita non è il tuo computer
Se ti sei chiesto se fosse la tua macchina — un vecchio driver, stranezze di Windows 11, una scheda di Chrome fuori controllo — non lo è. La perdita è all'interno di Monosnap e lo è da anni. Cerca r/monosnap e troverai discussioni su discussioni che descrivono lo stesso schema.
Ecco cosa succede dietro le quinte. Ogni volta che Monosnap cattura una regione, alloca un frame buffer sufficientemente grande da contenere i dati pixel grezzi. Per uno schermo 2560 x 1440, sono circa 14 MB. Quando l'editor si chiude, questi buffer dovrebbero essere rilasciati al sistema operativo. In Monosnap, spesso non lo sono — vengono mantenuti dall'heap del renderer di Electron, in attesa di un passaggio di garbage collection che non viene mai eseguito o viene eseguito troppo tardi. Durante una giornata lavorativa con oltre 40 catture, i buffer mantenuti si accumulano in centinaia di megabyte di RAM fantasma.
La soluzione è un'app diversa
L'architettura di Monosnap lega la perdita a Electron stesso, e applicare una patch richiederebbe la riscrittura della pipeline di cattura. Questa riscrittura non è avvenuta in cinque anni. La soluzione pratica è uno strumento che è stato progettato senza il problema fin dall'inizio.
Maxisnap è costruito su PyQt6 e compilato con PyInstaller in un singolo eseguibile Win32. Non c'è alcun processo Chromium. Ogni cattura alloca un QImage, l'editor lo referenzia, e quando la finestra si chiude il riferimento viene eliminato e la memoria torna immediatamente al sistema operativo — perché il modello di proprietà di PyQt e il conteggio dei riferimenti di Python rilasciano entrambi prontamente piuttosto che aspettare un GC generazionale.
Empiricamente: Maxisnap inattivo all'avvio è di circa 50 MB. Dopo 72 ore di funzionamento continuo con catture regolari, è ancora di circa 50 MB. Il grafico sopra proviene da log reali.
Procedura di passaggio
- 0:00Scarica Maxisnap. Vai alla pagina di download. Un clic, 63 MB.
- 0:15Esci da Monosnap. Fai clic destro sull'icona nella barra delle applicazioni, scegli Esci. Guarda la tua RAM diminuire di 600 MB.
- 0:30Esegui il programma di installazione. Percorso di installazione predefinito, nessun riavvio richiesto.
- 0:45Premi Ctrl+Alt+5. La tua prima cattura con la stessa scorciatoia che hai sempre usato. L'editor si apre istantaneamente.
- 0:60Fatto. Incolla le tue credenziali SFTP/S3 in Impostazioni se desideri caricare sul server.
Domande sulla perdita di memoria
Faccio solo 5 screenshot al giorno. La perdita mi colpisce ancora?
Meno gravemente, ma sì. La memoria inattiva continua a crescere perché Monosnap interroga gli appunti e la barra delle applicazioni anche quando non stai catturando. La crescita è più lenta con un uso ridotto ma non si ferma mai.
Riavviare l'app aiuta?
Temporaneamente. Esci e riavvia e tornerai a circa 180 MB. Ma la maggior parte degli utenti che notano la perdita ci sono arrivati perché tengono il loro strumento di screenshot in esecuzione tutto il giorno, e riavviarlo più volte è l'opposto di ciò che desiderano.
E Monosnap su macOS?
La perdita è meno grave su macOS perché il modello di memoria è diverso, ma gli utenti segnalano comunque una crescita graduale. La build di Maxisnap per macOS è sperimentale. Per Windows, passa oggi stesso.
La tua RAM ti ringrazierà
Maxisnap è gratuito. L'installazione richiede 60 secondi. Le stesse scorciatoie che già usi.
Scarica MaxisnapCorrelati: perché è diventato lento · correzione del blocco · alternativa generale