
Che cosa costa un po' di pioggia?
Misurato il 28 settembre 2026 · Apple M4 Max · Un display integrato
Weatherling attira la pioggia in movimento attorno alle finestre, quindi utilizza il tempo della CPU, il lavoro della GPU e la memoria durante l'esecuzione. La gente ha chiesto quanto. Ecco come lo misuro, cosa ha trovato l'ultima prova e cosa devo ancora testare.
Su questo Mac, è stata calcolata la media delle due prove brevi predefinite valide 2,97–3,75% di un core della CPU e 375–391 MiB di memoria fisica. La prova di quattro ore ha utilizzato più memoria nel tempo, raggiungendo circa 467 MiB prima di stabilizzarsi durante l'ultima ora. Queste sono misurazioni di una build su una macchina, non una promessa su ogni Mac o sulla durata della batteria.
Il Mac e la build che ho testato
Per questa esecuzione è stato utilizzato un MacBook Pro con un Apple M4 Max, 64 GB di memoria e macOS 27.0. Il suo display integrato era 3456 × 2234 pixel su scala 2×, con una frequenza di aggiornamento segnalata di 120 Hz. Il Mac era collegato all'alimentazione CA. La luminosità automatica è rimasta attiva e il normale lavoro sul desktop è continuato con nove finestre visibili all'inizio. Non era un desktop di laboratorio isolato e inattivo.
L'app era una build di rilascio locale etichettata 1.3 (build 3), basata sul commit 0ed73f4 con ulteriori modifiche all'audio locale e al tracciamento dell'input registrate durante il test. Una build di rilascio utilizza le ottimizzazioni del compilatore di produzione; ciò non significa che questo esatto eseguibile sia la versione attualmente disponibile su App Store. Ho congelato una copia prima di raccogliere i dati in modo che le modifiche successive al codice non potessero sostituire l'eseguibile in prova.
Come funziona una sessione di benchmark
Misuro l'app nativa che disegna la pioggia sul desktop. Un'animazione del browser, uno screenshot o un test di rendering fuori schermo non possono dirmi l'intero costo di mantenere una sovrapposizione live tra le finestre aperte. Le impostazioni temporanee rendono ogni fase ripetibile senza sovrascrivere le preferenze dell’utente.
- Inizia con la chiusura dell'app. Registra una linea di base del sistema di un minuto, quindi avvia l'app senza pioggia. Dargli 30 secondi per stabilizzarsi e campionare per tre minuti.
- Esegui la pioggia predefinita. Intensità d'uso 0,35, qualità automatica a 30 fps, vento e profondità fissi, con suono e particelle vicine alla telecamera disattivati. Riscaldati per due minuti, quindi misura per dieci.
- Esegui forti piogge. Utilizza l'intensità massima, la qualità Uniforme a 60 fps, le particelle vicine alla fotocamera e il suono. Ancora una volta, riscaldati per due minuti e misura per dieci.
- Ripetere tre volte. I giri ripetuti mostrano variazioni che un singolo numero favorevole nasconderebbe. Termina con un'altra linea di base per l'uscita dall'app.
- Lasciare in funzione la pioggia predefinita per quattro ore. Dopo un nuovo riscaldamento, monitora la memoria e la CPU per tutta la sessione più lunga, inclusa la tendenza verso la fine.
La sequenza completa dura circa cinque ore e mezza. Il sistema di test tiene acceso lo schermo e le impostazioni temporanee permettono gli effetti sulle app a schermo intero. Sono condizioni di misura, non prove del normale comportamento in stop. Le tracce GPU, le osservazioni di rete e l’istantanea della mappa di memoria vengono raccolte fuori dalle finestre di campionamento CPU e memoria. Prima di accettare un risultato controllo pause, uscite inattese e sovrapposizioni del profiler.
Gli ultimi risultati
| Scenario | Campioni completati | CPU media | Memoria fisica media |
|---|---|---|---|
| Senza pioggia, nuovo avvio | 3 × 3 minuti | 0.23–0.82% | 26,0–26,4 MiB |
| Pioggia predefinita, 30 fps | 2 validi × 10 minuti | 2.97–3.75% | 375,0–390,5 MiB |
| Pioggia forte, 60 fps | 3×10 minuti | 6.17–10.01% | 411,7–419,3 MiB |
| Pioggia predefinita, resistenza | 4 ore | 5.64% | 441,5 MiB |
Utilizzo delle percentuali della CPU un core al 100%, non l’intero processore. La memoria è l’impronta fisica, che include le risorse grafiche, non la memoria residente, talvolta inferiore, mostrata da altri strumenti. I risultati senza pioggia provengono da nuovi avvii con effetti disattivati, non da memoria rimasta dopo aver fermato un effetto attivo.
Il primo round predefinito è stato escluso in modo conservativo: una regola relativa all'app esclusa ha sospeso la pioggia verso la fine del riscaldamento e l'attività dello strumento screenshot ha superato il limite di campionamento. Tutte le fasi sono terminate, ma ho ottenuto solo due round predefiniti puliti e brevi. Anche la CPU pesante variava sostanzialmente tra un round e l'altro. La modifica dell'attività del desktop rende difficile attribuire tale variazione solo a Weatherling.
Perché lo lascio acceso per quattro ore
Un test di dieci minuti può far perdere allocazioni che si accumulano successivamente. Durante la resistenza, la memoria fisica è aumentata Da 379,9 a 467,1 MiB, con un picco campionato di 469,7 MiB. Le medie orarie erano 421,0, 435,0, 442,8 e 467,0 MiB. L'ultima ora è stata quasi piatta: il suo andamento adattato è stato di circa +0,1 MiB all'ora.
Questo assestamento finale è un dato utile, ma non dimostra l’assenza di perdite di memoria. La crescita precedente richiede ancora indagini. La CPU media nelle quattro ore era il 5,64% di un core; il 95° percentile era il 12,15%, quindi il 95% degli intervalli campionati non superava quel valore. Non sono state registrate pause del ciclo di vita. Attivazioni ripetute, riconnessioni degli schermi e cicli di stop e riattivazione richiedono test separati.
Funzionamento e fluidità della GPU
Le registrazioni separate di Metal System Trace hanno osservato circa 30 callback di presentazione al secondo con qualità predefinita e 60 con qualità elevata. Il tempo medio della GPU attiva al 95° percentile per buffer di comando è stato di 0,307/0,758 millisecondi per impostazione predefinita e 0,375/0,596 millisecondi per pesante. Per contesto, un fotogramma a 30 fps ha un budget di 33,3 ms; a 60 fps ha 16,7 ms.
Ciascuna traccia copriva circa 31 secondi. Si è verificato un intervallo di richiamata superiore a 50 ms in modalità predefinita e 15 su 25 ms in modalità pesante. Questi callback aiutano a descrivere la stimolazione, ma non sono la latenza di visualizzazione diretta o un conteggio esatto dei fotogrammi persi. Anche il tempo di esecuzione della GPU non è una percentuale di utilizzo della GPU. Mantengo il sovraccarico del profiler separato dalle misurazioni più lunghe di CPU e memoria.
E la durata della batteria?
Questa prova non può dire quanti minuti di autonomia consumi Weatherling. Ho raccolto stime della potenza di sistema durante le sessioni brevi e osservato WindowServer, il processo macOS che compone la scrivania. I valori includono altre app e attività variabili. Sottrarli non darebbe una stima affidabile della potenza consumata dalla sola app.
La registrazione della potenza è iniziata durante la prima fase dell'app disabilitata e si è conclusa presto nella resistenza. La linea di base iniziale e la maggior parte della fase di quattro ore quindi non hanno campioni di potenza. Un'utile dichiarazione sulla durata della batteria richiede test controllati senza spina, luminosità e carico di lavoro costanti e confronti con l'app sia in esecuzione che chiusa. Non ho completato quel test qui.
Come mantengo le misurazioni oneste
Il campionatore CPU legge i contatori del processo macOS, con la conversione dell'ora controllata rispetto all'orologio della CPU del processo. Campiona la memoria fisica e l'I/O del disco circa ogni due secondi. Salvo l'hash dell'eseguibile, la versione dell'app, lo stato di origine, le impostazioni, i timestamp e i registri del ciclo di vita in modo che un risultato possa essere ricondotto all'esecuzione che lo ha prodotto. La profilazione è terminata prima delle finestre misurate in questa esecuzione e le impostazioni salvate sono rimaste invariate in seguito.
Le brevi istantanee della rete sono solo osservazioni durante quelle finestre; uno snapshot vuoto non è la prova di una garanzia di rete a vita. Allo stesso modo, zero scritture su disco fisico non significherebbero zero attività di file logici. Conservo le tracce grezze localmente perché possono contenere informazioni su altri processi sul Mac di prova. Questa pagina pubblica i risultati e le condizioni complessivi.
Ho ancora bisogno di misurazioni su Mac meno potenti, display esterni, alimentazione della batteria, modalità di risparmio energetico e transizioni sistematiche di sospensione e visualizzazione. Inoltre, questa prova non isola il costo dei singoli Lings™. Le misurazioni future utilizzeranno la stessa sequenza ove possibile, con modifiche all'hardware, alle impostazioni e alla build evidenziate anziché riunite in un unico numero del titolo.
Se le prestazioni risultano diverse sul tuo Mac, inviare una segnalazione con il modello del tuo Mac, la versione dell'app, la configurazione del display e le impostazioni della pioggia. Questi dettagli aiutano a trasformare una preoccupazione generale in un test che posso ripetere.