Successivo

Software

Accelerazione GPU per Chromium

Redazione | 1 Settembre 2010

Le novità  introdotte con HTML 5 (WebGL) e   CSS 3 (Trasformazioni 3D) hanno portato all’attenzione degli sviluppatori di browser […]

ICON_DAILETTORI02

Le novità  introdotte con HTML 5 (WebGL) e   CSS 3 (Trasformazioni 3D) hanno portato all’attenzione degli sviluppatori di browser web il peso e l’importanza del rendering di elementi grafici (in 2D e 3D) e contenuti video nelle pagine web; tali operazioni – se affidate alla CPU – possono ridurre sensibilmente i tempi di caricamento, che risulterebbero invece nettamente più bassi se venissero eseguite dalle GPU, specializzate nell’eseguire questo tipo di istruzioni. Come viene riportato sul blog ufficiale del progetto Chromium, queste innovazioni sono state ritenute un motivo ampiamente valido per rivedere la gestione del rendering delle pagine web, ed in particolare la possibilità  di avvantaggiarsi della maggiore velocità  della GPU in tali frangenti.

La soluzione adottata è stata quella di definire un nuovo processo, che si occupa di ricevere le richieste di rendering da parte del browser e di convertirle in opportune chiamate alle librerie grafiche (OpenGL o Direct3D); ciascuno dei livelli in cui una pagina web può essere suddivisa potrà  quindi essere gestito interamente dalla CPU o dalla GPU o in parte da ciascuna delle due, a seconda del tipo di contenuto (testo, immagini, fogli di stile CSS, video, misto, …) in modo da massimizzare la velocità  di elaborazione complessiva.

Tale soluzione introduce tuttavia la necessità  di unire nuovamente i distinti livelli per ricostruire la pagina web: per non sprecare i vantaggi ottenuti dal rendering CPU/GPU, l’operazione di fusione viene anch’essa svolta dalla GPU; nelle ultime build di Chromium (che riportano un numero di versione 7.0.x) è possibile abilitare tale funzionalità  aggiungendo al campo Destinazione del collegamento a Chromium la voce –enable-accelerated-compositing (lasciando uno spazio tra l’indirizzo del programma e tale voce).

Per ottenere maggiori informazioni (in inglese) è possibile consultare il post sul blog ufficiale sopra citato. Buona navigazione!