publikuj: Opublikuj w wykop.pl Opublikuj we flaker.pl Opublikuj na OSnews.pl Opublikuj w delicious wydrukuj
10 skomentuj »

TAGI: akceleracja , gpu , opengl , google chrome , chromium , google

2010-08-28 19:00  |  Adam Golański

Google Chrome 7: pełna akceleracja sprzętowa grafiki przez OpenGL

Google Chrome 7: pełna akceleracja sprzętowa grafiki przez OpenGL

Zespół pracujący nad Internet Explorerem 9 nie ma łatwego życia. Powolny cykl rozwojowy przeglądarki Microsoftu sprawia, że wprowadzane w niej innowacje zostają podchwycone przez konkurencję i umieszczone w browserach, których finalne wersje pojawią się na długo przed finalną wersją IE9. Taki los spotkał m.in. sprzętową akcelerację grafiki 2D. Wpierw jej wprowadzenie zapowiedziała Mozilla, a teraz Google poinformowało o całkowitej przebudowie systemu graficznego Chromium.

Na łamach oficjalnego bloga projektu Chromium, inżynierowie z Mountain View potwierdzili, że siódma wersja Google Chrome będzie korzystała z procesora graficznego, aby przyspieszyć „cały model rysowania, w tym wiele typowych operacji 2D, jak kompozycja (compositing) i skalowanie obrazów”.

U podstaw sprzętowej akceleracji grafiki w Chromium leży nowa architektura programu. W liście aktywnych procesów przeglądarki można znaleźć teraz coś, co nazwano „GPU process”. Przejmuje on polecenia dla podsystemu grafiki od rendera i przekierowuje je do OpenGL, lub poprzez bibliotekę translacyjną ANGLE, do DirectX na Windows. Proces GPU został zaprojektowany tak, aby umożliwić dostęp do systemowego interfejsu 3D zarówno z poziomu sandboksu, w którym normalnie działa renderer, jak i jeszcze bardziej restrykcyjnego „więzienia”, w którym działa platforma uruchomieniowa kodu binarnego Native Client.

Dzięki takiemu podejściu możliwe staje się rozdzielenie procesu renderowania strony na wiele niezależnych warstw. Oddzielnie mogą być renderowane warstwy obrazów, CSS, wideo, canvas, czy grafiki 3D (WebGL), korzystając z wielowątkowości oferowanej przez nowoczesne procesory graficzne. Przyjmowane przez proces GPU polecenia zostały przygotowane tak, aby jak najbardziej pasować do API OpenGL-a ES 2.0. Całość jest komponowana również na poziomie GPU, ponieważ wykorzystanie do tego głównego procesora tylko spowolniłoby cały proces.

Są trzy główne zalety takiego podejścia. Oferuje ono bezpieczeństwo, dzięki temu że praktycznie cała logika procesu renderowania pozostaje zamknięta w sandboksie renderera, solidność, ponieważ awarie procesu GPU nie zawieszają przeglądarki oraz uniformizację – wybór Open GL 2.0 ES pozwoli na utrzymanie jednolitej bazy kodu dla wszystkich platform, na których przeglądarka Chrome działa.

Więcej o rozwiązaniu Google'a można poczytać w artykule na stronie sites.google.com/a/chromium.org/dev/developers/design-documents/gpu-accelerated-compositing-in-chrome. Aby włączyć w najnowszych deweloperskich wersjach programu sprzętową akcelerację dla kompozycji, należy uruchomić przeglądarkę z flagą z --enable-accelerated-compositing.

Efekt jest znakomity – uruchomione w ten sposób Chromium z łatwością radzi sobie z testami przygotowanymi przez Microsoft, które miały demonstrować zalety sprzętowej akceleracji w IE9. Biorąc pod uwagę tempo, w jakim rozwija się i jest wydawana przeglądarka Google'a, można się spodziewać, że jeszcze jesienią obsługa GPU będzie domyślnie włączona w wersji stabilnej Chrome.

źródło: blog.chromium.org

publikuj: Opublikuj w wykop.pl Opublikuj we flaker.pl Opublikuj na OSnews.pl Opublikuj w delicious wydrukuj
10 skomentuj »

Komentarze

  • grzesiek2

    #1 grzesiek2 2010-08-28 20:02:13 0

    By uzyskać pełną akcelerację sprzętową porównywalną z IE9 nie wystarczy ustawienie flagi 'sprzętowej kompozycji':

    --enable-accelerated-compositing

    Konieczny jest pełen zestaw odpowiedzialny za akcelerację grafiki:

    --enable-gpu-plugin

    --enable-gpu-rendering

    --enable-accelerated-2d-canvas

    --enable-accelerated-compositing

    Ustawienie tego zestawu parametrów przyniesie kilkudziesięciokrotne przyspieszenie w 'canvas' które nie jest obsługiwane sprzętowo przy pierwszej fladze.

    Wynik obu ustawień najlepiej pokazuje test 'akwarium'

    http://ie.microsoft.com/testdrive/Performance/FishIE%20tank/Default.html

    IP: 90.156.104.[...] Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.127 Safari/533.4

  • ke_be

    #2 ke_be® 2010-08-28 20:03:59 0

    Ciekawe czym teraz M$ będzie się chwalił przy ie9 skoro i google i mozilla to będzie mieć ;]

    IP: 195.150.49.[...] Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.3 (KHTML, like Gecko) Chrome/6.0.472.51 Safari/534.3

  • Anonim

    #3 Anonim 2010-08-28 20:08:27 0

    hmmm... stworzyłem sobie obok pliku chrome.exe plik a.bat i wpisałem do niego 

    chrome.exe --enable-accelerated-compositing --enable-gpu-plugin --enable-gpu-rendering --enable-accelerated-2d-canvas --enable-accelerated-compositing

    Po uruchomieniu pliku jednak nie widze nowego procesu w menadżerze. Co robię źle?

    IP: 93.179.208.[...] Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.6 (KHTML, like Gecko) Chrome/7.0.503.0 Safari/534.6

  • grzesiek2

    #4 grzesiek2 2010-08-28 20:10:17 0

    Czy ktoś kto ma XP i W7 mógłby wrzucić wyniki 'akwarium' w komentarzu?

    To spore zaskoczenie że obsługa to OGL biorąc pod uwagę jawne odwołania w kodzie Chromium do Direct2D. Pierwsze trafienie z wyszukiwarki kodu chromium:

    gfx::CanvasDirect2D::GetD2D1Factory()->CreateHwndRenderTarget(

    rt_properties,

    D2D1::HwndRenderTargetProperties(hwnd(), D2D1::SizeU(500, 500)),

    &rt);

    IP: 90.156.104.[...] Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.127 Safari/533.4

  • grzesiek2

    #5 grzesiek2 2010-08-28 20:17:17 0

    @Anonim

    Ja utworzyłem sobie skrót i działa.

    Powinno sporo przyspieszyć w stosunku do pierwszej fagi która nie daje praktycznie w testach z canvas:

    http://www.youtube.com/watch?v=lyQYFkvgL18

    IP: 90.156.104.[...] Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.127 Safari/533.4

  • dan

    #6 dan 2010-08-28 20:38:55 0

    No to działa na razie tylko w chrominum? W chrome jescze nie? Błędny tytuł?

    IP: 178.37.91.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8

  • wujekbogdan

    #7 wujekbogdan 2010-08-28 21:12:59 0

    jest, ale został uruchomiony nowy kanał developerski. chrome canary build, tam trafiają najnowsze wersje.

    IP: 89.75.16.[...] Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.6 (KHTML, like Gecko) Chrome/7.0.503.0 Safari/534.6

  • Serpher

    #8 Serpher® 2010-08-29 18:51:05 0

    Szkoda, że Opera stoi w miejscu. Tej przeglądarce sprzętowa akceleracja grafiki by się najbardziej przydała. W testach pochłania olbrzymie ilości pamięci i CPU. Tak przynajmniej odciążyło by to przeglądarkę oraz zasoby systemowe.

    IP: 77.255.62.[...] Opera/9.80 (Windows NT 5.1; U; pl) Presto/2.6.31 Version/10.70

  • dan

    #9 dan 2010-09-01 11:32:25 0

    Jest! Działa! Na najnowszym Chrome Canary build 7.0.511.1 chodzi elegancko:]]] przy 50 rybkach mam 50 fps... i to na Win XP.

    OpenGl jednak sie do czegos przydaje. Jak sie chce to sie potrafi :)

    IP: 62.233.215.[...] Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8

  • look997

    #10 look997 2010-12-26 13:27:55 0

    @Serpher®

    Opera jest najmniej wymagającą przeglądarką z wszystkich popularnych przeglądarek, nie rozumiem skąd twoja opinia?

    IP: 86.63.66.[...] Mozilla/5.0 (Windows NT 5.1; rv:2.0b9pre) Gecko/20101225 Firefox/4.0b9pre

Uwaga! Możesz zarejestrować się w serwisie i w ten sposób zarezerwować swój nick oraz ominąć konieczność ciągłego odczytywania wyrazów.

Aby dodać komentarz, musisz podać swój nick, treść komentarza oraz poprawnie przepisać oba słowa z obrazka (słowa muszą być rozdzielone spacją).
W treści komentarza można używać języka formatowania BBcode.

Polecane książki

Czytaj Webhosting

Chcesz być na bieżąco z naszymi informacjami? Zapisz się na Newsletter.

Zarejestruj domenę

Sprawdź dostępność swojej domeny:

.pl: 0 zł   .com: 19.90 zł
.com.pl: 0 zł   .eu: 19.90 zł