dom ready gyorsítása
Sziasztok!
Egy online ügyviteli rendszert fejlesztek. A problémám az, hogy a dom ready nagyon lassú, pláne egy régebbi gépen. A html mérete elég nagy mivel akár 2 évnyi bejegyzés megjelenhet ahol minden napra lehet több bejegyzés is. A html mérete gzip-elve 70-80kb, firefox net panelje szerint ezt 700ms alatt betölti, de a dom az én gépemen 3 egy régebbi gépen pedig 10mp alatt tölt be. http://kepfeltoltes.hu/view/130925/kep_www.kepfeltoltes.hu_.png itt egy kép a netpanelről. Javascript, CSS és a képek mind cachelve vannak. Mivel van olyan javascript kód aminek maximum 1-2 mp alatt le kéne futnia (pl. horgonyhoz ugrás jquery scrolltop-al), így nem tudom, hogyan tudnék javítani még a kódon, vagy mit csináljak másképp. Lazy load és lapozás nem jöhet szóba. Várom az ötleteket és tippeket.
Üdv,
Gábor
■ Egy online ügyviteli rendszert fejlesztek. A problémám az, hogy a dom ready nagyon lassú, pláne egy régebbi gépen. A html mérete elég nagy mivel akár 2 évnyi bejegyzés megjelenhet ahol minden napra lehet több bejegyzés is. A html mérete gzip-elve 70-80kb, firefox net panelje szerint ezt 700ms alatt betölti, de a dom az én gépemen 3 egy régebbi gépen pedig 10mp alatt tölt be. http://kepfeltoltes.hu/view/130925/kep_www.kepfeltoltes.hu_.png itt egy kép a netpanelről. Javascript, CSS és a képek mind cachelve vannak. Mivel van olyan javascript kód aminek maximum 1-2 mp alatt le kéne futnia (pl. horgonyhoz ugrás jquery scrolltop-al), így nem tudom, hogyan tudnék javítani még a kódon, vagy mit csináljak másképp. Lazy load és lapozás nem jöhet szóba. Várom az ötleteket és tippeket.
Üdv,
Gábor
Kód(részlet) hiányában nehéz
</body>
elé) teszek egy<script>
-et, amiben az adott blokk vagy teljes kód inicializációját végzem.adatok javascriptben?
aztán, hogy szummában gyorsabb lesz-e, az már más kérdés
Nem hiszem, hogy a kód sokkal
(pl. horgonyhoz ugrás jquery
text/template
A módszer lényege, hogyha olyan type -ot adsz meg a <script> tagnek amit a böngésző nem ismer (a text/template egy népszerű érték erre) akkor a tartalmát nem fogja parsolni és nem épít belőle DOM -ot, cserébe a szöveg könnyen elérhető marad js oldalról és lehet kevesebb meló mint teljesen átültetni a html generálást js oldalra (ezt innen nehéz megmondani).
Nyilván ha már most 10mp parsolni az kész html -t, ugyanazon a gépen először előállítani js-el és utána parsolni se lesz gyorsabb, mindenképp csökkenteni kéne az elvégzett munka mennyiségét és csak azt "htmlesíteni" amit épp meg kell mutatni. Gyaníthatóan a felhasználók monitorjára se fér ki minden ami két év alatt történt.
Ha tudnál csinálni belőle egy
Tedd lapozhatóvá, akár
Fix méretek
Ha tudod, hogy egy sor legfeljebb mondjuk 20 pixel magas, akkor írd be neki ezt stílusba.
Ugye a táblázaton belül nem használsz sehol különálló JS eseményt (pl. ikonokon onclick)?
Plusz ha sok kis kép van az
Meg fogom csinálni.
Na akkor adok hozzáférést:
/*Hozzáférést privátban lehet kérni.*/
Most annyit csinátlam, hogy kipróbáltam azt, hogy simán a böngésző anchorját használom, így csak az a baj, hogy a top-tól 21 pixellel lejjebb kellene pakolnom.
A tesztrendszerben kb. fele annyi adat van mint az éles rendszeren.
flame gyanús..
-ki az az ember aki ennyi adatot használni tud bármire is
-tedd be javascriptbe az adatokat, kérd le őket szerverről ajax-szal
-nyomj rá valami jqueryui autocomplete szerű szűrést, vagy mittudomén
-használj css sprite-ot, vagy ha még tutibbat akarsz, akkor font iconokat
-próbálj egyszerűsíteni a markupon (tényleg kell table, tbody, tr, th?)
-ne rakj a html-be javascript-et láttam onclick-eket.. használj jquery.on()-t vagy annak megfelelő dolgot, és csak egyszer hozd létre az eseményfigyelőt a szülő elemen
-nézd meg chrome-ban a fejlesztői eszközökkel timeline, profiles, network, stb oldalkat (vagy firebugban)
-de legelőbb gondold át a koncepciót, vagy legalább üljetek le a rendszer leendő használóival és találjátok ki hogy hogy lenne jó nekik
"-ki az az ember aki ennyi
Eredetileg csak havi nézet lett volna, utólag találták ki, ezek elmebetegek, hidd el telefonálás közben le-fel scrolloznak, láttam őket munka közben.
"-próbálj egyszerűsíteni a markupon (tényleg kell table, tbody, tr, th?)"
Meglesz.
"-ne rakj a html-be javascript-et láttam onclick-eket.. használj jquery.on()-t vagy annak megfelelő dolgot, és csak "
Lehet benne maradt, nem szándékos, ránézek majd.
"-de legelőbb gondold át a koncepciót, vagy legalább üljetek le a rendszer leendő használóival és találjátok ki hogy hogy lenne jó nekik"
Hát ez megtörtént, kb már át lett írva az egész menetközben mikor elkezdték használni.
Ingyenes?
De legtöbbször inkább arról van szó, hogy nem értitek meg egymást.
Szerk.: Számomra nem derült ki, hogy mi is a honlap célja... Biztosan ez az, amit kértek?!
Igen, ez mert már használják
" ezek elmebetegek, hidd el telefonálás közben le-fel scrolloznak" ezt nem rossz értelemben írtam, és csak az ő szavaikat használtam, hiszen saját elmondásuk szerint is azok, legalábbis a munkamoráljuk elmebeted módon megy, mert pörgés van :D
Részben rendben
Olyat sose csinálj (adj ki a kezedből), ami lassú, mert lehet, hogy most tudod, milyen gépeken használják, de jövő héten beállíthatnak egy új munkaerőt egy hamar a sufniból előkotort P III-al, az meg le fog fagyni... Remélem tesztben csinálod, míg jó nem lesz. A lapozást én is jó megoldásnak tartom, de én lehet, hogy szerveroldalon oldanám meg. Ha jól emlékszem (amíg kint volt a hozzáférés :), addig néztem) itt nem sok egyéb tartalom van ezen kívül, úgyhogy nem kell js-függés, ha backendből lapozol.
Ritka, de megint egyetértek
És hát igen... Képzeld, mi lenne ha véletlenül tudom, ki vagy és én is az érintett helyen dolgozom! ;)
OFF
Szerintem emelkedő tendenciát mutat, miért hangsúlyozod, hogy ritka?
Nem zavar, sőt, tetszik. :)
Igyekszem ezt a fórumot flame
:)
Szerk.: nehogy tapétát szaggass, csak aludni nem tudok!
Szerintem felesleges bármit
Megcsináltam, hogy css
Nem kell
Átírtam div-ekre az egészet,