Nvidia Tegra 3 e ottimizzazioni: giochi Android THD alla prova

Nvidia continua a incoraggiare gli sviluppatori ad aggiungere dettagli esclusivi dedicati ai chip Tegra nei loro giochi su Android. Tegra 3 è davvero la migliore scelta per giocare su Android? Come appaiono i giochi ottimizzati per il Soc Nvidia rispetto alle controparti iOS? È tutto fumo e niente arrosto?

Avatar di Pierre Dandumont

a cura di Pierre Dandumont

Introduzione

Nvidia ha appena presentato Tegra 4, ma passerà ancora molto tempo prima che il nuovo SoC diventi un punto di riferimento per il mercato mobile. Nel frattempo l'ammiraglia di questa azienda resta Tegra 3, un chip che non ha più le prestazioni migliori sul mercato ma che conta sull'impegno di molti sviluppatori che, in collaborazione con Nvidia, ottimizzano i propri giochi per ottenerne il massimo.

Il risultato di tale ottimizzazione è che con Tegra 3 i giochi hanno una grafica migliore, forse la migliore i ambito mobile. A oltre un anno dal debutto di questo SoC, questo vantaggio esiste ancora oppure è del tutto scomparso? Per rispondere a questa domanda ci siamo armati di un HTC One X+ da usare come piattaforma di test, e di dodici giochi che vantano questa "ottimizzazione per Tegra".

Mettiamo in chiaro che questa prova non è benchmark per misurare i frame al secondo che Tegra 3 può generare, né si vuole generalizzare riguardo ai giochi su Android. Ciò che vogliamo fare è un confronto visivo per vedere se l'ottimizzazione per Tegra 3 è significativa, o se ha un qualche impatto sulla giocabilità.

Tegra contro PowerVR, Mali e Adreno

Tegra 3 è piuttosto diverso dagli altri SoC quando si guarda alla GPU. La Nvidia GeForce ULP (Ultra Low Power, cioè a bassissimo consumo) è una versione più complessa di quella che c'era in Tegra 2, e ha infatti 12 pixel shader invece di quattro, e funziona a 520 MHz invece che a 400 MHz.

Le GPU mobile attuali riproducono le immagini con due tipi di operazione: Immediate Mode Rendering (IMR) e Tile-Based Rendering (TBR). Nvidia Tegra usa IMR, che è stato uno standard nelle GPU dei PC per oltre dieci anni (gli ultimi processori grafici per PC a usare il Tile-Based Rendering furono le schede STMicroelectronics PowerVR Kyro II, nel 2001). Con la tecnica IMR, si ricevono, modificano e mostrano i poligoni in tempo reale, e lo stesso vale per l'applicazione delle texture e il calcolo di alcune zone. In ambito mobile questo approccio si considererebbe normalmente uno spreco, ma Nvidia ha l'hardware abbastanza potente per gestirlo.

I chip PowerVR di Imagination Technologies sono invece la quintessenza del Tile-Based Deferred Rendering. Secondo tale approccio ogni immagine (frame) è divisa in piccole sezioni chiamate tile (mattonelle o tasselli). La riproduzione di ogni tassello si esegue separatamente, e solo i pixel visibili di ognuno finiscono nella pipeline di rendering. I pixel non visibili di ogni immagine invece non vengono riprodotti (in altre parole sono scartati), come quelli che costituiscono la parte dell'auto nascosta dall'albero, nell'immagine.

Dividere ogni immagine in tasselli da riprodurre separatamente dà a PowerVR una scalabilità piuttosto lineare, perché all'aumentare dei core grafici aumentano le prestazioni della GPU. Anche eliminare dai calcoli le aree non visibili riduce il bandwidth necessario, il che è un vantaggio importante nel mondo della mobilità. La tecnologia PowerVR di Imagination Technology si trova su SoC Intel (Medfield), Samsung (Hummingbird) e Texas Instruments (OMAP), ma è nota soprattutto perché è anche il cuore grafico dei dispositivi iOS.

Le GPU Mali e Qualcomm usano una combinazione delle due tecniche di rendering base. La tecnica di ARM Mali si chiama Tile-Based Immediate Mode Rendering (TBIMR), mentre Qualcomm usa una modalità ibrida diversa per l'Adreno 320, che può renderizzare tanto in TBR quanto in IMR. Il SoC più famoso dove troviamo una GPU Mali è l'Exynos di Samsung, mentre Adreno è un'esclusiva di Qualcomm, che le usa negli Snapdragon.

Nvidia ha fatto una scelta coerente, che ironicamente si avvantaggia di uno dei limiti che ritroviamo in PowerVR. Il fatto è che molti giochi sono progettati per i dispositivi iOS, che usano appunto PowerVR, e per questo la loro geometria è limitata. Semplicemente raddoppiando il numero di pixel shader in Tegra 3, Nvidia permette agli sviluppatori di aggiungere effetti ai giochi esistenti facilmente. L'azienda è inoltre nota per la cura che mette nelle relazioni con gli sviluppatori in ambito PC, e sembra che stia facendo lo stesso nel mondo degli smartphone e dei tablet.

ARM, Imagination Technologies e Qualcomm hanno tutti prodotti più prestanti di Tegra 3, in ogni caso, se non altro perché il SoC Nvidia ha ormai più di un anno - Tegra 4 infatti è stato appena presentato. Nvidia poi non è nella stessa posizione di Samsung o, in misura minore, di Apple: creare il Soc A5X per l'iPad di terza generazione, per esempio, ha richiesto all'azienda di Cupertino solo di raddoppiare il numero di core grafici dell'A5. Nvidia invece deve anche preoccuparsi di vendere Tegra ai produttori di smartphone, Apple e Samsung no.

In ogni caso Nvidia gode di un gran successo, e ritroviamo Tegra in un gran numero di dispositivi, come l'HTC One X+ (HTC One X+, migliore in tutto con Tegra 3 a 1.7 GHz), Microsoft Surface, Lenovo Ideapad Yoga 11 e persino sull'auto elettrica Tesla Model S.