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

6 komentarzy:

Jarek Śmiejczak pisze...

Interfejs 3D? Biegnij, znajdź klucz, zabij potwory i uwolnij księżniczkę?:)
Nie sądzę aby większość firemek reklamowych była gotowa na prawidłowe zaimplementowanie takiego interfejsu dla użytkownika.
Nie chciałbym aby jakaś strona informacyjna zmuszała mnie do przeglądania danych tylko za pomocą kostki czy kuli ;) A znając naszą rzeczywistość sądzę że takie sytuacje nie należałyby do rzadkości.

Michał Małaj pisze...

Interfejs 3D świetnie sie wpasuje w nowy UI dla użytkownika dzięki któremu będzie możliwy 2.5D a potem powoli wyewoluuje w stronę klasycznego interfejsu 3D
Jak korzystało się z programów do edycji 3D oznacza to, że użytkownik ma mozliwośc przełaczania sie z trybu 2D do 2.5D
Na przykład strona informacyjna może wyglądać tak salon prasowy w którym możesz przeglądać gazetę w sposób typu "flow" tak jakbyś trzymał gazetę w ręku a ilość kolumn automatycznie przeskalowywała się do rozmiaru gazety aktualnej widzianej w oknie przeglądarki. Innym mechanizmem UI, który ma szansę przyjąć się w świecie 3D w internecie jest "pie menu" (jak korzystałeś z programu typu Alias Maya to tam do nawigacji jest używany).
Ale głównym "problemem" jest stworzenie takiego mechanizmu który by pozwalał na bezproblemowe przełączanie z 2d na 2.5d i na 3d.
Teoretycznie kiedyś była technologia 3DML firmy Flatland dzięki któremu można byłoby szybko zrobić świat 3D i przy odpowiednim zaprogramowaniu serwisu przełączać sie pomiędzy tymi światami 3D a trybem 2D.

maliboo pisze...

AIR2.0 to piesn przyszlosci. AIR+FP10 = AIR1.5

mcprimo pisze...

w google chrome najbardziej brakuje funkcji rozszerzeń znanej z firefoksa

Marcin Czech pisze...

3d jako UI nie zadoptuje sie na 2d LCD, uzyte bedzie tylko w specyficznych przypadkach. Dlatego tez nikomu sie do tego nie pali. big $ w necie nie potrzebuja 3D UI, a jak juz to bez przegladarki - WoW.

Krzysztof pisze...

a tu mamy chrome'a bez komunikacji z google http://www.srware.net/en/software_srware_iron.php