2025

Profilatore Oggetti

Sicuramente conoscete gli effetti delle scene più grandi e complesse: possono diventare piuttosto lente in termini di gestione, navigazione, animazione, tempi di preparazione per il rendering, ecc. Spesso è difficile riconoscere esattamente dove si trova il problema: quale oggetto o quale tag è quello che richiede più tempi di calcolo? (vedi anche Perché usare un Profilatore Oggetti).

Questo compito viene ora svolto dal Profilatore Oggetti. Questo strumento misura i tempi di calcolo dei singoli oggetti e dei tag e li visualizza in modo chiaro. In questo modo possiamo riconoscere a prima vista gli elementi che richiedono tempi molto lunghi per il calcolo.

Ecco come potrebbe apparire:

Nell'esempio precedente, possiamo vedere a colpo d'occhio chi è il colpevole: l'oggetto Booleano consuma la maggior parte dei tempi di calcolo con un ampio margine.

Nella parte superiore della finestra possiamo vedere il tempo di calcolo totale (qui 3057,3 millisecondi ≈ 3 secondi). Nella finestra stessa, che è una Gestione Oggetti semplificata, sono elencati tutti gli oggetti e i tag con i rispettivi tempi di calcolo. Gli elementi sono ordinati in base al tempo di calcolo. In alto troverete quelli che richiedono più tempo. Gli elementi possono essere disattivati o riattivati con il segno di spunta verde o la crocetta rossa.

Perché usare un Profilatore Oggetti?

In molti casi è davvero importante, o almeno istruttivo, sapere per chi viene speso il prezioso tempo di calcolo. Naturalmente è bello e gratificante aver costruito una scena completamente parametrica che richiede solo 400 kB di memoria sul disco rigido, ma che crea un oggetto estremamente complesso nella vista. Tuttavia, se la frequenza dei fotogrammi nella visualizzazione crolla a 1 fotogramma al secondo e la navigazione è paragonabile ad una proiezione di diapositive, questo è semplicemente impraticabile. Il Profilatore Oggetti può aiutarci ad identificare gli sprechi di tempo maggiori; inoltre ci permette di:

Importante da sapere

Comandi e impostazioni del Profilatore Oggetti

Qui vengono trattati solo i comandi e le impostazioni non disponibili in Gestione Oggetti. Tutto il resto funziona allo stesso modo.

Menu Vista

Mostra in Gestione Oggetti

I valori misurati possono essere visualizzati anche direttamente in Gestione Oggetti se attivate questa opzione. Tuttavia, questi sono visibili solo se anche il Profilatore Oggetti è aperto!

Ma perché si vedono due colonne in Gestione Oggetti? In parole povere, hanno il seguente significato:

Modalità Profilo

La modalità di profilo è forse il parametro più importante del Profilatore Oggetti. Cercate di comprendere al meglio queste 4 impostazioni, in modo da sapere cosa misura effettivamente il Profilatore Oggetti. Dobbiamo approfondire bene questo aspetto.

Anche un semplice clic nella Gestione Oggetti fa sì che Cinema 4D calcoli una scena per tutti gli oggetti (esecuzione della scena). Questo è ovviamente eccessivo nel caso di oggetti invariati e già calcolati: se non abbiamo inserito nuovi parametri (sia manuali che animati), non è necessario ricalcolare nulla. E questo infatti non accade, perché tali oggetti normalmente sanno se devono essere ricalcolati o meno e lo trasmettono a Cinema 4D: l'oggetto viene quindi recuperato dalla cache già calcolata. Tuttavia (e qui arriva il grande ma) il Profilatore Oggetti non sa se il tempo misurato per l'oggetto si riferisce alla semplice verifica di un oggetto invariato o al suo completo ricalcolo! Per questo motivo esistono le quattro modalità descritte di seguito.

Esempio

Caricate la scena seguente e aprite il Profilatore Oggetti (menu principale: Finestra | Profilatore Oggetti).

Attivate l'opzione Ultima Esecuzione nel menu principale | Vista.

Una serie di generatori lavora nella scena per creare una sorta di corona frastagliata da una spline circolare: un deformatore Spostare trasforma una spline circolare in una frastagliata, che crea una mesh poligonale con l'aiuto di un oggetto Sweep. Un Costruttore Volume converte questa mesh poligonale in voxel, li leviga leggermente e un Generatore Mesh Volume genera infine la mesh finale.

Ciò significa che una serie di processi computazionalmente complessi vengono eseguiti uno dopo l'altro.

Ora cliccate più volte in un'area vuota in Gestione Oggetti - o del Profilatore Oggetti - e osservate i tempi misurati nel Profilatore Oggetti (immagine a sinistra).

Quindi premete più volte il pulsante A (immagine a destra). I tempi seguenti sono stati ottenuti con un PC di fascia media (2024):

Qui i tempi sono radicalmente diversi. Perché?

Cliccando sulla gestione, viene eseguita una scena tenendo conto di tutte le cache e delle misure risparmia-tempo. Questo avviene molto rapidamente. Nel secondo caso (pulsante A = ridisegna), viene avviata un'esecuzione completa della scena, in cui ogni oggetto viene ricalcolato. Questo avviene automaticamente, ad esempio, quando si carica una scena; Cinema 4D non può ancora accedere a nessuna cache (a meno che non sia stata salvata esplicitamente in precedenza), ma deve prima calcolare tutto.

Questo solo per illustrare quanto possano essere diversi i tempi di misurazione.

Ultima Esecuzione

In questa modalità, viene visualizzata la durata dell'esecuzione dell'ultima scena. Questo avviene praticamente in tempo reale, cioè quando cliccate su un punto o vi spostate semplicemente sulla scena nella vista, oppure ogni volta che Cinema 4D esegue una nuova scena, questa viene visualizzata direttamente. Ciò significa che i valori possono cambiare continuamente e che l'unica misurazione importante per voi potrebbe essere persa. Si veda anche l'esempio in cui viene utilizzata questa modalità.

Frame Corrente

Questa modalità si applica per ogni fotogramma (di animazione). Delle possibili numerose esecuzioni di scene che avvengono per ogni fotogramma, viene visualizzato solo il risultato con il tempo di calcolo più lungo; quelli più lenti vengono sovrascritti direttamente. Se si cambia il fotogramma (di animazione), il tempo massimo precedente viene cancellato e il processo ricomincia dall'inizio.

Il problema sorge se modifichiamo la Dimensione Voxel di un Generatore Volume, ad esempio, per verificare come questo influisce sui tempi di calcolo. In modalità Frame Corrente, non viene visualizzato un tempo più breve. A tal fine, passate alla modalità successiva:

Frame Corrente dopo la Modifica

Funziona in modo simile a Frame Corrente, ma ogni volta che si apporta una modifica a un oggetto o a un giorno, la misurazione viene ripetuta. Ciò significa che è consigliabile utilizzare questa modalità se desiderate studiare l'influenza delle modifiche dei parametri, poiché, a differenza dell'opzione precedente, vengono visualizzati anche i tempi di riduzione.

Tutti i Fotogrammi

In definitiva, questa modalità permette di scoprire le riduzioni di tempo in un'intera animazione. Lasciate che l'animazione si riproduca completamente (vedi anche il suggerimento seguente).

I tempi massimi di calcolo degli elementi per schermata sono determinati in modo continuo (come accade con Frame Corrente per il tempo attuale), ma il Profilatore Oggetti visualizza sempre e solo il massimo determinato fino a quel momento. Se l'animazione riparte, viene ripristinato anche il valore massimo visualizzato.

Immaginate che un Remesher precedentemente disattivato sia riattivato dall'animazione nel Frame 67. Naturalmente, il tempo di calcolo non viene visualizzato nelle schermate 0-66. È quindi necessario misurare l'intera animazione in modo da tenere conto di tutto.

Suggerimento: in modalità Tutti i Frame, è utile effettuare le seguenti impostazioni:
  • Impostare il modo di Riproduzione (ad esempio, nel menu principale: | Animazione | Modo Riproduzione) su Semplice in modo che l'animazione si fermi all'ultimo fotogramma; se l'animazione parte dall'inizio, i tempi già misurati saranno cancellati.
  • Impostare il frame rate (ad esempio, nel menu principale: | Animazione | Velocità Fotogrammi) su Tutti i Fotogrammi, in modo che nessun fotogramma di animazione sia saltato e i relativi risultati di misurazione siano mancanti nel Profilatore Oggetti.

Unità

Definite qui il modo in cui visualizzare le misurazioni del tempo di calcolo.

Durata

I tempi sono visualizzati in ms (millisecondi = millesimi di secondo).

Percentuale

I singoli elementi vengono sempre visualizzati come percentuale del tempo di misurazione totale.

Dinamico

Qui i tempi vengono visualizzati in ms (millisecondi = millesimi di secondo) o µs (microsecondi = milionesimi di secondo). Se il display in µs ha quattro cifre, passerà automaticamente a ms.