QR code per la pagina originale

IE11, rendering più veloce delle immagini JPEG

Internet Explorer 11 su Windows 8.1 carica più velocemente le immagini JPEG, in quanto esegue la decodifica sfruttando la potenza della scheda video.

,

Internet Explorer 11 integra diverse funzionalità che velocizzano il caricamento delle pagine web. Il nuovo browser, attualmente esclusiva di Windows 8.1, sfrutta in particolare la GPU installata nel computer per effettuare il rendering in hardware delle immagini JPEG. Microsoft ha calcolato una riduzione del tempo di caricamento fino al 45%, un minore consumo della memoria e quindi una maggiore autonomia della batteria. Questo risultato è stato ottenuto eseguendo sulla scheda grafica alcune operazioni previste dalla pipeline di decodifica.

Oggi quasi il 50% delle immagini contenute nelle pagine web sono nel formato JPEG, per cui è importante utilizzare una tecnologia che aumenti la velocità di caricamento e riduca il carico di lavoro della CPU e della memoria. La codifica JPEG prevede quattro passi: conversione dello spazio colore da RGB a YCbCr, compressione lossy, quantizzazione e codifica Huffman. Il processo di decodifica ovviamente prevede l’esecuzione delle stesse operazione, ma in ordine inverso.

Pipeline di decodifica delle immagini JPEG. IE11 sfrutta la GPU per eseguire gli ultimi due passi.

Pipeline di decodifica delle immagini JPEG. IE11 sfrutta la GPU per eseguire gli ultimi due passi.

Fino alla versione 10 di Internet Explorer, Microsoft ha sfruttato la potenza della CPU per eseguire tutti i passi di decodifica. Solo alla fine, l’immagine viene copiata nella memoria della GPU. IE11 invece suddivide i compiti in parti uguali tra processore e scheda video. La decodifica Huffman e la de-quantizzazione vengono eseguite dalla CPU, mentre il chroma upsampling e la conversione dello spazio colore da YCbCr a RGB sono assegnati alla GPU. L’operazione viene dunque eseguita in parallelo con una velocità nettamente superiore. La copia dell’immagine YCbCr nella GPU riduce anche la quantità di memoria occupata (una risorsa limitata); inoltre la CPU è libera di eseguire altre operazioni.

Utilizzando una compressione con sottocampionamento 4:2:0, la decodifica dell’immagine JPEG usata come test impiega 31,9 millisecondi con IE10 su Windows 8, mentre il tempo totale di rendering è di 81,5 millisecondi. Caricando la stessa immagine con IE11 su Windows 8.1, la decodifica dura solo 17,9 millisecondi, un miglioramento del 44%. Per disegnare l’immagine occorrono complessivamente 57,5 millisecondi, il 30% più veloce.

Dato che molte immagini JPEG sono in formato YCbCr, è evidente il risparmio di tempo che si ottiene con Internet Explorer 11. Microsoft consiglia agli sviluppatori di scegliere una compressione con sottocampionamento 4:2:0 o 4:2:2 per avere le massime prestazioni e sfruttare al meglio l’accelerazione hardware supportata dal browser.