Blender rendering con GTX, Xeon e Core i5: confronti e benchmarks!

Ho da tempo pubblicato sul mio canale YouTube una serie di video a riguardo delle prestazioni di processore e scheda video nel rendering di Blender usando i Cycles. Parliamone ora un po’ qui, per iscritto.

blender cycles rendering veloci
Esempio di anteprima con i Cycles. In real time con una buona GPU CUDA!

Lasciando da parte il vecchio motore di render Blender Renderer che supporta solo accellerazione CPU, passiamo come detto al Cycles render engine. Si tratta di un motore di rendering ancora in sviluppo, ma che offre risultati strepitosi per quanto riguarda il fotorealismo. Non è semplice da utilizzare per un uso avanzato, ma ha il vantaggio di far apparire belle alla vista le mesh con pochi ritocchi necessari.Il motivo per cui ne parlo qui è però la sua feature più importante: l’accellerazione GPU. I creatori di Blender non hanno detto no alle OpenCL e quindi in futuro le cose potrebbero cambiare ma per ora i Cycles funzionano solo con CUDA e quindi GPU nVidia Quadro o GeForce. Inoltre, la nostra scheda video deve essere piuttosto recente e nella sua tecnologia interna deve essere presente la CUDA Compute Capability 2.1 consigliata o superiore. Una lista di riferimento la puoi trovare qui.

I Cycles offrono un’anteprima quasi in real time che è capace di sfruttare al massimo la potenza delle moderne schede video, ma rimangono piuttosto lenti in rendering finale. Per abilitarli, la procedura è semplicissima: nella barra in alto scegliamo il motore di rendering “Cycles Render”. Poi andiamo nelle User Preferences>System. Sotto il pannello Compute Device, abilitiamo CUDA:

blender abilitare cuda

Poi, nel contesto Rendering del pannello Properties scegliamo come Device, ovviamente, GPU. Ora, la nostra scheda video si occuperà di prendersi carico di quasi tutto il lavoro, come ho analizzato in questo video.

Come ha rivelato Andrew Price nel suo blog, c’è un’altro passo fondamentale da fare per ottimizzare l’utilizzo della GPU nel Rendering: sotto il pannello Performances utilizzo di tiles da 256×256 ed 1 solo thread. Qui di sotto mostro il confronto tra il setup ideale per una GTX e quello di uno Xeon ad otto threads:

cuda ottimizzata in blender

Quindi, una volta trovato il setup ideale per la tua configurazione non ti resta che scegliere una risoluzione adeguata e selezionare una quantità di Samples ragionevole. Tieni conto che più luci e riflessi ci sono maggiore dovrà essere il valore di sampling, pena granulosità eccessiva e perdita di realismo nel rendering finale.

Date queste premesse, alla domanda chi è più veloce in Blender con i Cycles: una GeForce o una CPU? Per dare una risposta che valga con il maggior numero di configurazioni nel mondo nerd ed autodidatti prendo una configurazione di fascia medio alta, la mia: GTX 760 2GB, uno Xeon E3 1230 (quattro core 3.2GHz, otto threads) ed un Core i5 2400 3.1GHz.

Non ci sono scuse: grazie a CUDA, la GeForce è in certe situazioni fino a dieci volte più veloce. Nonostante gli otto threads dello Xeon la CPU non riesce nemmeno ad avvicinarsi alle prestazioni della scheda video. Dove l’E3 1230 impiega più di sette minuti, la GTX ha già finito il lavoro in meno di due. Ho mostrato diversi confronti in questi due video: GTX550Ti vs GTX 760 e GTX 760 vs Core i5 che puoi vedere qui sotto:

Ora, una domanda sorge spontanea: per quanto riguarda le Quadro? Ebbene, le schede professionali Nvidia, a patto di avere una Compute Capability supportata, si dovrebbero comportare quasi esattamente come le loro sorelle minori GeForce. Il problema è che a parità di prestazioni costano molto di più. In altre applicazioni come le suite Adobe le Quadro sono meglio ottimizzate delle GTX ma siccome Nvidia non fornisce drivers certificati per Blender, il vantaggio si va ad annullare a mio parere.

Il mio consiglio è quello di munirsi di una GeForce di fascia medio alta per poter usufruire al massimo della potenza in real time e dotarla di un buon dissipatore perchè il rendering è un’attività molto pesante ed a lungo andare rischia di rovinarla se non ben curata. Perchè non una di fascia enthusiast? Se si hanno i soldi nulla da dire…ma se il portafoglio non è senza fondo spendere troppi soldi in una GPU non darà i risultati sperati. Infatti, la differenza nella velocità di rendering tra una scheda video GeForce di 200€ con una di 900€ è tanta, ma non certo quanto quella tra la prima ed una CPU.

Se si devono fare rendering veloci ed a livello professionale io preferisco di gran lunga l’utilizzo di una Render Farm TESLA based, come RayPump II(chiuso).

Tornando invece a parlare del Blender Renderer, che rimane utile per le operazioni di tracking o per chi vi si era affezionato, il discorso cambia completamente: possiamo sempre attivare il Compute Device sotto CUDA per una maggiore fluidità al momento della modellazione ma il rendering è possibile solo tramite CPU. Con il Blender renderer più sono i threads del nostro processore e più veloce sarà il rendering.

Per ora ho finito, grazie ed alla prossima!

Pubblicato da Capo (Francesco G.)

Un nerd sempre alla ricerca di miti e mondi lontani. Appassionato di arti visive, storia antica, epica e del fantastico in generale. Nel tempo libero, autore di romanzi e racconti.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.