Google rivoluziona Chrome: con Skia Graphite rendering multithread e grafica più fluida

Google rivoluziona Chrome: con Skia Graphite rendering multithread e grafica più fluida

Google introduce Skia Graphite, il nuovo backend di rasterizzazione per Chrome, progettato per sfruttare appieno le moderne API grafiche e il multithreading. Attualmente attivo su Mac con Apple Silicon, promette miglioramenti significativi nelle performance grafiche e nella fluidità d'uso, ponendo le basi per un'evoluzione strutturale del rendering in Chrome.

di pubblicata il , alle 14:01 nel canale Software
ChromeGoogle
 

Google ha annunciato Skia Graphite, un nuovo backend di rasterizzazione per il rendering grafico all'interno di Chrome, progettato dal principio per adattarsi alle moderne API grafiche come Metal, Vulkan e Direct3D 12. L'obiettivo principale è superare i limiti di Ganesh, il precedente backend di Skia sviluppato originariamente per OpenGL, ormai poco efficiente nel contesto odierno.

Il nuovo motore Graphite è stato implementato per ora nella versione di Chrome su Mac con chip Apple Silicon, dove i primi risultati sono promettenti. Google riporta un incremento del 15% nei punteggi di MotionMark 1.3 su MacBook Pro M3, accompagnato da miglioramenti concreti su metriche reali come INP (Interaction to Next Paint), LCP (Largest Contentful Paint), riduzione dei frame persi e dell'uso di memoria GPU. Tutto questo si traduce in interazioni più fluide, minor stuttering nello scrolling e caricamenti più rapidi.


Il passaggio da Ganesh a Graphite non è solo un'evoluzione tecnica, ma una vera e propria riscrittura concettuale. Mentre Ganesh è nato su OpenGL ES con un'architettura incentrata su singolo thread, Graphite è stato sviluppato da zero per supportare in modo nativo multithreading e compute shaders, grazie all'uso di Dawn, l'implementazione WebGPU di Chrome. Dawn consente a Graphite di interfacciarsi in modo uniforme con le moderne API, riducendo la complessità del codice e semplificando la manutenzione.

Uno degli aspetti più interessanti di Graphite è l'adozione del depth testing anche per il rendering 2D. Sebbene tradizionalmente riservato al 3D, il depth testing permette ora di evitare inutili operazioni di disegno (overdraw), migliorando prestazioni e autonomia su dispositivi mobili.

Dal punto di vista architetturale, Graphite introduce un'API fondata su recorder indipendenti, capaci di generare contenuti su thread separati. Invece di saturare il thread principale della GPU con le attività di ciascun processo di rendering, la rasterizzazione può essere suddivisa in più thread.

Un altro vantaggio del nuovo backend è la semplificazione delle pipeline di rendering. Ganesh necessitava di numerosi shader personalizzati per ogni combinazione possibile di effetti grafici, generando rallentamenti in presenza di contenuti complessi. Graphite punta invece alla consolidazione delle pipeline, riducendo le compilazioni in tempo reale e rendendo il comportamento più prevedibile anche con pagine web dinamiche e animate.

Google ha già tracciato alcune future direzioni per lo sviluppo di Graphite, come la riduzione dell'uso della VRAM per contenuti semplici, riutilizzando i comandi grafici piuttosto che mantenere in memoria le tile. Inoltre, Google punta a implementare una tecnica nota come "GPU compute-based path rasterization" per migliorare sia la qualità visiva del MSAA (Multisample Anti-Aliasing), spesso limitata a 4 sample per pixel, sia le prestazioni di rasterizzazione della CPU.

1 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - info
jepessen09 Luglio 2025, 17:01 #1
Magari miglioreranno, ma un 15% per una riscrittura totale e che sfrutta pure il multithreading non mi pare tutto sto gran miglioramento...

Devi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".

La discussione è consultabile anche qui, sul forum.
 
^