wtorek, 2 września 2008

Google Chrome - demon szybkosci

Google Chrome jest przykładem jak bardzo intensywnie pracuje się nad nowymi silnikami JavaScript. Google na bazie tego co zaimplementowano ostatnio w silnikach skryptowych SqurrielFish i TraceMonkey (ten ostatni już tłumaczy kod JS na polecenia procesora i jest szybszy od poprzednika) stworzył nowy silnik V8 Możecie sobie przetestować wydajność w tym teście Warto też przetestować to na Dromadeo, czy SunSpider (moje wyniki). Warto zobaczyć porównanie pomiędzy SqurrielFish a TraceMonkey. Albo dema pod roboczą wersja Firefoxa 3.1 bądź kolejne nightbuildy WebKit, które jeszcze nie chodzą w Google Chrome. Podobnie nie wszystko w Processing.js działa dla Chrome. Ciekawe, która wersja WebKit jest w Google Chrome? I mamy
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.27 Safari/525.13
Google Chrome pozytywnie przeszedł Acid2, a Acid3 zakończył na poziomie 78/100
A programiści Safari dalej pracują i usprawniają Safari 4 kompilacja 40A12 i silnik WebKit:
Mozilla/5.0 (Windows; U; Windows NT 5.1; pl-PL) AppleWebKit/528.1 (KHTML, like Gecko) Version/4.0 Safari/528.1.1
Widać ile do nadrobienia mają programiści Google Chrome,żeby to wszystko chodziło? Ale wobec programistów od Apple mają przewagę, że Google Chrome współpracuje z Google Gears (i już jest zintegrowany wystarczy zobaczyć C:\Documents and Settings\Michal\Ustawienia lokalne\Dane aplikacji\Google\Chrome\Application\Plugins) Apple natomiast celuje w dodanie profilera JavaScriptu. Zastanawiałem się gdzie Google Chrome sie instaluje się? Okazało się że tam gdzie jest to najbezpieczniej czyli w:
C:\Documents and Settings\Michal\Ustawienia lokalne\Dane aplikacji\Google\Chrome\
daje to w pewnym sensie możliwości uruchamiania Google Chrome na USB i łatwego przenoszenia danych z ustawień pomiędzy komputerami.
Warto też skorzystać z takich wpisów w pasku adresowym takich jak about:network about:histograms, about:cache, about:plugins, about:dns, about:version, about:stats, about:memory, about:crash, chrome-resource://inspector/inspector.html,
view-source:chrome-resource://about/stats
about:internets

Ale najciekawsze pozostaje to że mam bibliotekę Rlz.dll (oraz kod żródlowy)
Częsciowo mnie zastanawia dlaczego w adresie URL wyników zwracanych z wyszukiwarki Google mam coś takiego
http://www.google.pl/search?rlz=1C1GGLS_plPL291&aq=f&sourceid=chrome&ie=UTF-8&q=Flex%202
może ktoś mi wyjaśni co to za rlz z parametrem 1C1GGLS_plPL291

A Adobe i tak pracuje nad rozwojem Adobe AIR 2.0, doda tam Flash Playera 10 i prawdopodobnie którąś z aktualnych wersji WebKit (zakładam że tą samą co obecnie Google Chrome), może przejdą na wersję zaproponowaną przez Google Chrome? Pożyjemy zobaczymy.

Spodziewam się silnej rywalizacji pomiędzy programistami ActionScript 3 / Flex a programistami JavaScriptu o to co ma decydować o trendach UI w internecie. Czego mi brak? Wsparcia OpenGL ES w przeglądarkach? Biblioteki ActionScript nie rozwiążą problemu wydajności gier 3D w przeglądarce, skoro teraz prawie każdy nowy komputer może obsługiwać PixelShader 2.0 i VertexShader 3.0. Wystarczy zrobić wtyczkę typu Canvas 3D ? Ale może jednak poczekać z tym? Może jednak przyjrzeć się bliżej silnikom 3D w ActionScript? Tak szczerze uważam ze sprzęt dorósł do programowania 3D w internecie, technologie też... ale użytkownicy jeszcze nie.

A tak na marginesie Google nazwą "Chrome" w pewnym sensie wymierzyło policzek Microsoftowi - przywłaszczając nazwę której Microsoft nadał silnikowi 3D do przeglądarek 10 lat temu czyli Chromeffects