Misurare le prestazioni dei giochi su macOS Ventura con Metal Performance HUD

Leggi questo articolo grazie alle donazioni di Pierpaolo Lambrini, Giuseppe Gravante, Stefano Savare, Daniele Saron.
♥ Partecipa anche tu alle donazioni: sostieni SaggiaMente, sostieni le tue passioni!

Mentre sto per ultimare la recensione del Mac mini M2 Pro, inserendo un piccolo spazio per il gaming, mi accorgo di non avere un modo per valutare le performance dei giochi nativi che sfruttano le librerie Metal. Purtroppo non sono molti, ma di recente ho acquistato Resident Evil Village e volevo vedere come si comportava su questo Mac in confronto agli altri in mio possesso. Girovagando un po’ ho scoperto che Apple ha inserito una funzione specifica per questo scopo in macOS Ventura e l’ha presentata in una sessione per gli sviluppatori nella WWDC 2022.

Prima di spiegarvi come si attiva questa funzionalità, devo precisare alcune cose:

  • funziona solo con macOS 13 Ventura
  • supporta giochi Metal e Rosetta 2
  • non supporta giochi OpenGL e OpenCL
  • non si può modificare la posizione e la dimensione dell’HUD

Attivare Metal Performance HUD

Il metodo più semplice per attivare il Metal Performance HUD è quello di modificare un valore di sistema, che quindi lo farà apparire in tutti i giochi in esecuzione. Basta aprire il terminale e incollare la seguente riga:

defaults write -g MetalForceHudEnabled -bool YES

Da questo momento in poi, avviando un titolo compatibile si vedrà in alto a destra un box contenente informazioni come gli FPS attuali, quelli immediatamente precedenti, l’impegno per la GPU, l’uso di memoria, ecc… Ovviamente, se non si vorrà più vedere l’HUD basterà eseguire nuovamente il precedente comando con valore -bool NO.

Un frame di Resident Evil Village su Mac Studio M1 Ultra con Metal HUD attivo

Analizzare i risultati

Oltre a visualizzare i dati in tempo reale sull’HUD, è anche possibile visualizzare dettagli più tecnici tramite l’app Console. Ovviamente bisogna lanciarla prima del gioco e cliccare su “Avvia streaming”.

Si noterà che questa inizierà a popolarsi immediatamente di tutti i messaggi di sistema che a noi non interessano, ma è possibile filtrare solo quelli relativi alle statistiche grafiche inserendo il testo metal-hud nel campo di ricerca e premendo invio.

Una volta conclusa la sessione di gioco vi ritroverete un log piuttosto lungo, con una riga per ogni secondo trascorso. Mi sarebbe piaciuto che ci fossero gli stessi dati visualizzati nell’HUD, ma non sono riuscito ad ottenere questo risultato (se sapete come fare, scrivetelo pure nei commenti).

<…>metal-HUD: 9875,0,4687.79,5.11, 5.32, 5.39,<…>

Ci sono però due dati importanti anche qui in ogni riga:

  1. il secondo numero dopo metal-HUD: rappresenta i drop frame (che nell’esempio qui sopra sono sempre zero)
  2. il numero subito dopo i drop frame indica i MB di memoria utilizzati (quindi se leggete “4687.79” vuol dire circa 4,6GB)

Spero che questa breve guida sia stata per voi utile come lo è stata per me, anche perché ci è voluto un po’ di tempo per localizzare quella sessione video sul sito Apple. Aggiungo che è possibile usare il Metal HUD anche su iOS, iPadOS ed Apple TV, ma la funzione è abilitata solo per le proprie app caricate tramite Xcode. Tutto ciò denota comunque una crescente attenzione di Apple per gli sviluppatori di giochi sulle proprie piattaforme.

Maurizio Natali

Titolare e caporedattore di SaggiaMente, è "in rete" da quando ancora non c'era, con un BBS nell'era dei dinosauri informatici. Nel 2009 ha creato questo sito nel tempo libero, ma ora richiede più tempo di quanto ne abbia da offrire. Profondo sostenitore delle giornate di 36 ore, influencer di sé stesso e guru nella pausa pranzo, da anni si abbronza solo con la luce del monitor. Fotografo e videografo per lavoro e passione.