▸ avstudio.ai · Commento News

Three.js r178: WebGPU avanza, WebGL sotto pressione

Three.js r178 spinge il renderer WebGPU come percorso principale. Chi mantiene esperienze 3D in produzione deve sapere cosa rompe l'aggiornamento prima del cliente.

Three.js r178 consolida WebGPU, il nuovo sistema di rendering grafico del browser, come percorso principale di sviluppo. WebGL, la tecnologia che muove il 90% delle esperienze 3D web oggi, non sparisce domani, ma riceve meno attenzione a ogni rilascio. Se hai un configuratore di prodotto, un tour virtuale o qualsiasi scena 3D in produzione, il momento di capire cosa cambia è adesso, non quando arriva la segnalazione del cliente.


In sintesi

  • Three.js r178 include WebGL e WebGPU come renderer principali nel pacchetto standard; SVG e CSS3D sono disponibili come componenti aggiuntivi separati.
  • WebGPU, il successore moderno di WebGL, offre accesso più diretto alla scheda grafica e prestazioni migliori su scene complesse, ma non è ancora supportato da tutti i browser in uso.
  • Aggiornare da r170 a r178 senza leggere il changelog, cioè il registro delle modifiche di versione, può rompere gli shader personalizzati, i programmi che definiscono come vengono disegnati materiali e luci.
  • La scelta tra WebGPU e WebGL non è tecnica: dipende da chi sono i tuoi utenti e su quale dispositivo ti accedono.
  • Azione minima oggi: verifica la versione di Three.js in produzione e confrontala con r178 prima di pianificare qualsiasi intervento.

Cosa sta cambiando con Three.js r178

Three.js è la libreria JavaScript più usata per costruire esperienze tridimensionali nel browser. JavaScript è il linguaggio di programmazione che fa funzionare le pagine web interattive. Configuratori di prodotto, showroom virtuali, tour immobiliari, visualizzatori di gioielli: tutti usano Three.js o qualcosa costruito sopra di essa.

Con r178, il progetto consolida una direzione già chiara da qualche versione. WebGPU diventa il percorso su cui si concentra l’innovazione. WebGPU è la nuova interfaccia di programmazione grafica dei browser moderni, in sostanza il modo in cui il browser parla con la scheda grafica del computer o del telefono. Rispetto a WebGL 2, il predecessore oggi dominante, WebGPU dà agli sviluppatori accesso più diretto all’hardware, riduce il carico sul processore centrale e permette effetti grafici che su WebGL sarebbero troppo pesanti da calcolare.

Il fatto concreto da registrare: le build standard di r178 includono WebGL e WebGPU. I renderer SVG e CSS3D, usati per casi specifici come interfacce miste con elementi bidimensionali e tridimensionali sovrapposti, sono stati spostati ad addon, cioè moduli opzionali da importare separatamente. Non è un dettaglio tecnico minore. Significa che il cuore della libreria si assottiglia intorno ai due renderer principali, e tutto il resto diventa periferia.

Cosa fai oggi: chiedi al team tecnico su quale versione di Three.js girano le tue applicazioni 3D. La risposta è nel file package.json, il documento che elenca tutte le dipendenze software del progetto.


Perché tocca chi ha 3D in produzione

Il configuratore di cucine di un mobilificio lombardo, il tour virtuale di un hotel sul lago di Como, il visualizzatore di gioielli di un ecommerce di fascia alta: tutti girano su Three.js o su librerie costruite sopra. Chi li ha commissionati due o tre anni fa probabilmente non sa su quale versione girano oggi, né se il team che li ha sviluppati li aggiorna con regolarità.

Il problema non è mai “funziona o non funziona” in senso netto. È che ogni versione introduce modifiche che rompono silenziosamente comportamenti specifici. Gli shader personalizzati, cioè i piccoli programmi che definiscono come vengono renderizzati materiali particolari, sono i candidati principali a smettere di funzionare come previsto. Il riflesso della pelle su un divano di pelle, la trasparenza del vetro su un flacone di profumo, la texture del marmo su un piano cucina: tutti dipendono da shader. Un aggiornamento non supervisionato li può alterare in modi che il cliente nota prima dello sviluppatore.

Il rischio operativo è preciso: un developer che fa un intervento non correlato, aggiorna le dipendenze in modo automatico, porta r178 in un progetto che girava su r165. Risultato: effetti grafici imprevisti in produzione, segnalazione dal cliente, intervento d’emergenza.

Cosa fai oggi: se sai di avere applicazioni 3D in produzione, chiedi esplicitamente al team tecnico se gli aggiornamenti delle dipendenze sono supervisionati o automatici. La differenza non è banale.


WebGPU oggi: supporto browser e limite reale

WebGPU è il futuro dichiarato. Ha però un problema di distribuzione che nessun entusiasmo tecnico risolve. Non funziona ancora su tutti i browser che i tuoi utenti usano.

A luglio 2025, Chrome e Edge lo supportano in modo stabile su desktop. Firefox lo ha attivato con limitazioni. Safari su iOS, rilevante per qualsiasi attività che riceve traffico da telefono, ha un supporto parziale e in evoluzione. Un’applicazione Three.js migrata a WebGPU senza un percorso di riserva esclude una quota di utenti che varia dal 10% al 30% a seconda del settore e del pubblico. Per un hotel che riceve prenotazioni da utenti iPhone, o per uno studio professionale con clienti senior su browser non aggiornati, quella quota non è trascurabile.

Three.js gestisce questo con un sistema di rilevamento automatico. Il renderer può essere configurato per tentare WebGPU e ricadere su WebGL se il browser non lo supporta. Questo meccanismo di riserva si chiama in inglese fallback, cioè percorso alternativo automatico. Ma va progettato. Non avviene da solo, e un’implementazione frettolosa può lasciare utenti su schermata nera senza che nessuno lo sappia.

Cosa fai oggi: se stai valutando una nuova applicazione 3D, chiedi esplicitamente al team di sviluppo come gestisce il supporto browser. La risposta “usiamo WebGPU” senza menzione del percorso alternativo è una risposta incompleta.


La domanda giusta: passo adesso o aspetto?

La risposta onesta è che dipende da cosa hai in produzione e da chi ti accede. Non è una risposta evasiva. È la risposta corretta, perché la scelta sbagliata in entrambe le direzioni ha un costo reale.

Resta su WebGL 2 se la tua applicazione funziona, non ha problemi di prestazioni, e il tuo pubblico include una quota significativa di dispositivi mobili o browser non aggiornati. WebGL 2 non è abbandonato. Riceve semplicemente meno sviluppo nuovo. Per la maggior parte delle applicazioni 3D in ambito business, regge perfettamente ancora per i prossimi 12-18 mesi senza interventi urgenti.

Valuta WebGPU se stai costruendo qualcosa di nuovo da zero, hai scene complesse con molti oggetti o effetti di luce che oggi causano rallentamenti visibili, e il tuo pubblico è prevalentemente su Chrome desktop o dispositivi recenti. Partire con WebGPU come renderer principale, con percorso alternativo su WebGL, è la scelta che evita una migrazione futura costosa.

Non aggiornare a r178 senza un piano se hai shader personalizzati, materiali non standard, o effetti di post-processing, cioè filtri grafici applicati alla scena dopo il rendering, sviluppati su versioni precedenti. Testa prima in ambiente separato, confronta il risultato visivo con l’originale, poi decidi.

La posizione di avstudio su questo è netta: sconsigliamo migrazioni a WebGPU in produzione su applicazioni esistenti e stabili prima che il supporto Safari iOS sia maturo e documentato. Per progetti nuovi con pubblico prevalentemente desktop, WebGPU con percorso alternativo è già una scelta difendibile.


Domande correlate

Quando WebGL verrà rimosso da Three.js? Nessuna data ufficiale. Il repository Three.js mantiene WebGL come renderer supportato. Il rischio non è una rimozione brusca, ma una riduzione progressiva di nuove funzionalità: effetti e ottimizzazioni nuovi arriveranno prima su WebGPU, poi eventualmente su WebGL.

Un aggiornamento di Three.js può rompere il mio configuratore di prodotto? Sì, se il configuratore usa shader personalizzati o materiali non standard. Aggiornamenti tra versioni distanti, per esempio da r165 a r178, vanno testati in ambiente separato prima di andare in produzione. Non è un passaggio facoltativo.

WebGPU funziona su iPhone? Parzialmente. Safari su iOS supporta WebGPU in modo incompleto a luglio 2025. Per applicazioni con traffico mobile significativo, configurare un percorso alternativo su WebGL 2 non è un’opzione: è un requisito.

Devo riscrivere tutto per passare a WebGPU? No. Three.js permette di cambiare il renderer mantenendo la stessa struttura della scena. La migrazione riguarda principalmente la configurazione iniziale e gli shader personalizzati, non la geometria o la logica applicativa.

Come so se la mia applicazione 3D è aggiornata? Chiedi al team tecnico la versione di Three.js nel file delle dipendenze. Si chiama package.json. Confrontala con l’ultima versione stabile sul repository ufficiale. La distanza tra le due versioni indica il livello di intervento necessario.


Fonti:

Vuoi capire come applicarlo alla tua azienda?