[OT:] Rychlost javascriptu v IE (bylo Re: komprese stringu)
Miroslav Velen
miroslav.velen na seznam.cz
Neděle Září 18 08:39:38 CEST 2011
IE8 a starší jsou bohužel neskutečně pomalé v oblasti rychlosti JS a
manipulace s DOM objektem reprezenujícím stránku. Navíc to "vylepšuje"
režim kompatibility, který je defaultně nastaven (a to platí i pro IE9)
pro všechny lokální servery (viz. Nástroje/Nastavení kompatibilního
zobrazení). V kompatibilním režimu je IE8 i IE9 pomalejší než bez něho.
Naše aplikace to v kritických případech řeší jiným způsobem
chování/vizualizce pro IE<=8 a ostatní prohlížeče, na nic lepšího jsme
nepřišli.
Existuje ještě jedna zvrhlá možnost udělat z IE Chrome pomocí Google
Chrome Frame, ale to by mohlo narazit politiku používání prohlížeče u
zákazníka.
MV
Dne 18.9.2011 3:43, Pavel Kutina napsal(a):
> Tak experiment se zdaril, pacient zemrel...
>
> Sice jsem stlacil prenasena data na rozumnou velikost, ale narazil
> jsem o krok dale, a to na rychlost, resp. vypocetni vykon nutny pro
> zpracovani retezce javascriptem.
>
> Jakkoli je to nehezke, mam na strane klienta tabulku, citajici cca 500
> radku, kazdy radek je inikatni a ma vygenerovane unikatni ID. Data se
> na serveru meni, ja prenasim pres XMLHttpRequest (IE komunikuje pres
> "svoji" implementaci AJAXu pres ActiveXObject) nejaky popisovaci
> soubor, na strane klienta pomoci GetElementByID nastavuju par
> drobnosti, jako je barva pozadi a viditelnost nekterych prvku.
>
> Problem je s rychlosti a narocnosti zpracovani. Na "normalnich"
> prohlizecich (Firefox, Mozilla, Chrome, Opera) nemam problem a
> zpracovani na zatezi procesoru nevidim (testovano na ruznych PC a OS
> od WinXP na mobilnom Celeronu na 1.8GHz az po Win7 64bit s nejakym
> tlustym dvoujadrem) a vsechno chodi jak ma, na lokalni siti jsem
> schopnen aktualizovat data i nekolikrat za vterinu (jinak "best of" je
> Chrome, tam to pracuje s prakticky neznatelnymi prodlevami, nechapu,
> jak to delaji).
>
> Problem je, kdyz to otevru ve starsim IE. IE 9 take nema problem, ale
> ty starsi (IE 8 a 7, predpokladam, ze i 6, ale nemam ho ted po ruce)
> na zpracovani tehoz skriptu sezerou veskery strojovy cas radove na
> sekundy - a v "idealnim" pripade i nafurt a nezbyva, nez IE sestrelit.
>
> Pokud necham prakticky prazdnou smycku a delam jen dotaz serveru a
> nasledne parsovani dat, nema problem ani IE, takze je videt, ze
> zpracovani zvlada. Jakmile ale sahnu na naprosto libovolny vizualni
> styl (a treba 50x ho zopakuju, resp. nastavim u padesati elementu),
> jde do tuheho a zatez leti prudce nahoru. Kdyby to delaly vsechny
> prohlizece, pochopil bych, ze je to slepa cesta, ale proc se to sype
> jen v IE7 a 8? Chapu, ze stylovani takoveho baliku dat je asi malicko
> nadstandardni, ale zakaznik by to chtel mit implementovane a ja bych
> mu rad vyhovel - tim spis, kdyz vidim, ze to v nekterych prohlizecich
> jede bez problemu a technicky to zrejme realizovatelne bude.
>
> Nemate nekdo tip?
>
> Diky.
>
> Pavel Kutina
>
>
>
Další informace o konferenci Hw-list