Windows 7 Forum: konfiguracja, optymalizacja, porady, gadżety •

Pełna wersja: Internet Explorer 11 przerzuca renderowanie obrazków JPG na procesor graficzny
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Od czasów wydania Internet Explorera 9 Microsoft uporczywie stara się dowieść, że przeglądarka ta ze swoimi archaicznymi przodkami, przez wiele lat będącymi zmorą webmasterów, wspólną ma tylko nazwę. W przeddzień wydania Windows 8.1, dla którego domyślną przeglądarką jest Internet Explorer 11, wydaje się, że gigantowi z Redmond udało się zrealizować ten cel – przynajmniej w warstwie technicznej. Gorzej jest w warstwie PR-owej: przeciętny europejski internauta wciąż ma, oględnie mówiąc, nie najlepsze zdanie o IE, mimo że przeglądarka ta może być dziś szybsza, bezpieczniejsza i bardziej zgodna ze standardami, niż to, co oferuje np. Google. Czy taka jest rzeczywiście? Na pewno jest przeglądarką najlepiej zintegrowaną z Windows – a to może przynieść efekty niedostępne dla konkurencyjnych browserów.

Z ostatniego wpisu na microsoftowym IEBlog dowiedzieć się możemy co nieco o metodach, które wykorzystano w najnowszym Internet Explorerze do radykalnego przyspieszenia obsługi grafiki bitmapowej. Jak wyjaśnia Jatinder Mann, menedżer projektu Internet Explorer, obecnie obrazki stanowią 61% wszystkich danych pobieranych przez WWW, zaś 47% wszystkich żądań pobrania obrazków dotyczy formatu JPG. Tak ważny aspekt Webu aż się prosi o specjalne optymalizacje, i takie właśnie optymalizacje IE11 przynosi.
[Obrazek: g_-_550x412_-_s_47732x20130916110659_0.png]
Zarówno przeglądarka, jak i aplikacje z Windows Store 8.1 częściowo przenoszą potok dekodowania obrazków JPG bezpośrednio na procesor graficzny. Do tej pory cały proces dekodowania odbywał się liniowo, obciążając procesor: wczytany obrazek przechodził przez etapy dekodowania Huffmana, dekwantyzacji, próbkowania chrominancji i wreszcie konwersji z przestrzeni barw YcbCr na przestrzeń RGB (czyli w odwrotnej kolejności względem procesu kodowania JPG). Dopiero uzyskana mapa bitowa RGB była przekazywana do GPU w celu dalszego renderowania. W IE11 etapy próbkowania chrominancji i konwersji między przestrzeniami barw są realizowane od razu na GPU.

Przeprowadzone przez twórców IE pomiary wydajności tej metody pokazują wzrost szybkości dekodowania przykładowego obrazka nawet o 44% (w porównaniu do Internet Explorera 10), a ich renderowania o około 30%. Jednocześnie nowy proces dekodowania zajmuje znacznie mniej pamięci (nawet o 40%), dzięki temu, że mapa bitowa w przestrzeni YcbCr zajmuje znacznie mniej miejsca. Pozwala to też na zmniejszenie zużycia energii, a co za tym idzie, dłuższy czas dział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óbkowania chrominancji 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 lub 4:2:0, obcinając informacje o kolorze (jako mniej istotne dla ludzkiego oka) – takie są domyślne ustawienia większości programów graficznych przy eksportowaniu grafiki do zastosowań w Sieci, więc ograniczenia te są raczej teoretycznej natury.

Szkoda jedynie, że nie dokonano porównań z szybkością renderowania obrazków JPG przez inne przeglądarki, szczególnie te, które korzystają z biblioteki libjpeg-turbo (m.in. Firefox 5 i późniejsze oraz Chrome 11 i późniejsze). Pozwoliła ona na nawet kilkukrotne przyspieszenie kodowania i dekodowania JPEG, wykorzystując w tym celu jedynie rozszerzenia SIMD zbioru instrukcji procesora. Oczywiście metoda Microsoftu jest zupełnie niepodobna do libjpeg-turbo, ale końcowego użytkownika metody przyspieszenia nie muszą obchodzić – zauważy on jedynie efekt końcowy, czyli szybsze ładowanie obrazków.

Za: dobreprogramy.pl
Przekierowanie