Internet Explorer 11 przerzuca renderowanie obrazków JPG na procesor graficzny

Internet Explorer 11 przerzuca renderowanie obrazków JPG na procesor graficzny

16.09.2013 11:07

Od czasów wydania Internet Explorera 9 Microsoft uporczywie starasię dowieść, że przeglądarka ta ze swoimi archaicznymi przodkami,przez wiele lat będącymi zmorą webmasterów, wspólną ma tylko nazwę. Wprzeddzień wydania Windows 8.1, dla którego domyślną przeglądarkąjest Internet Explorer 11, wydaje się, że gigantowi z Redmond udałosię zrealizować ten cel – przynajmniej w warstwie technicznej.Gorzej jest w warstwie PR-owej: przeciętny europejski internautawciąż ma, oględnie mówiąc, nie najlepsze zdanie o IE, mimo żeprzeglądarka ta może być dziś szybsza, bezpieczniejsza i bardziejzgodna ze standardami, niż to, co oferuje np. Google. Czy taka jestrzeczywiście? Na pewno jest przeglądarką najlepiej zintegrowaną zWindows – a to może przynieść efekty niedostępne dlakonkurencyjnych browserów.Z ostatniego wpisu na microsoftowym IEBlog dowiedzieć się możemyco nieco o metodach, które wykorzystano w najnowszym InternetExplorerze do radykalnego przyspieszenia obsługi grafiki bitmapowej.Jak wyjaśniaJatinder Mann, menedżer projektu Internet Explorer, obecnie obrazkistanowią 61% wszystkich danych pobieranych przez WWW, zaś 47%wszystkich żądań pobrania obrazków dotyczy formatu JPG. Tak ważnyaspekt Webu aż się prosi o specjalne optymalizacje, i takie właśnieoptymalizacje IE11 przynosi.[img=ie11]Zarówno przeglądarka, jak i aplikacje z Windows Store 8.1częściowo przenoszą potok dekodowania obrazków JPG bezpośrednio naprocesor graficzny. Do tej pory cały proces dekodowania odbywał sięliniowo, obciążając procesor: wczytany obrazek przechodził przezetapy dekodowania Huffmana, dekwantyzacji, próbkowania chrominancji iwreszcie konwersji z przestrzeni barw YcbCr na przestrzeń RGB (czyliw odwrotnej kolejności względem procesu kodowania JPG). Dopierouzyskana mapa bitowa RGB była przekazywana do GPU w celu dalszegorenderowania. W IE11 etapy próbkowania chrominancji i konwersjimiędzy przestrzeniami barw są realizowane od razu na GPU.Przeprowadzone przez twórców IE pomiarywydajności tej metody pokazują wzrost szybkości dekodowaniaprzykładowegoobrazka nawet o 44% (w porównaniu do Internet Explorera 10), aich renderowania o około 30%. Jednocześnie nowy proces dekodowaniazajmuje znacznie mniej pamięci (nawet o 40%), dzięki temu, że mapabitowa w przestrzeni YcbCr zajmuje znacznie mniej miejsca. Pozwala toteż na zmniejszenie zużycia energii, a co za tym idzie, dłuższy czasdziałania urządzeń pracujących na akumulatorach.Sprzętowe dekodowanie obrazków JPG ma swoje ograniczenia –tam gdzie obrazki były kodowane z wykorzystaniem podpróbkowaniachrominancji 4:0:0 (gdzie dane o kolorze w ogóle nie były obcinane),znaczących przyrostów nie zauważymy. Jednak zdecydowana większośćobrazków w Sieci została zakodowana z podpróbkowaniem 4:2:2 lub4:2:0, obcinając informacje o kolorze (jako mniej istotne dlaludzkiego oka) – takie są domyślne ustawienia większościprogramów graficznych przy eksportowaniu grafiki do zastosowań wSieci, więc ograniczenia te są raczej teoretycznej natury. Szkoda jedynie, że nie dokonano porównań z szybkością renderowaniaobrazków JPG przez inne przeglądarki, szczególnie te, którekorzystają z biblioteki libjpeg-turbo(m.in. Firefox 5 i późniejsze oraz Chrome 11 i późniejsze). Pozwoliłaona na nawet kilkukrotne przyspieszenie kodowania i dekodowania JPEG,wykorzystując w tym celu jedynie rozszerzenia SIMDzbioru instrukcji procesora. Oczywiście metoda Microsoftu jestzupełnie niepodobna do libjpeg-turbo, ale końcowego użytkownikametody przyspieszenia nie muszą obchodzić – zauważy on jedynieefekt końcowy, czyli szybsze ładowanie obrazków.

Źródło artykułu:www.dobreprogramy.pl
Oceń jakość naszego artykułuTwoja opinia pozwala nam tworzyć lepsze treści.
Wybrane dla Ciebie
Komentarze (105)