|
(X)HTML, JavaScript, DHTML, XML, CSS Client scripting tehnologije, Dynamic HTML, Cascading Stylesheets, XML i standardi |
|
Alati teme | Način prikaza |
24. 08. 2010. | #1 |
Domagoj Horvat
Expert
|
JS Grid - velika tabela [performanse]
Ima li tko kakvu ideju kako poboljsat performanse client side grida u slucaju kad ima cca 1000 redaka?
Covjek nece pagination, nece nista, hoce sve svoje rekorde na ekranu u istom trenu i bok. Naravno, generiranje tolikog broja DOM elemenata js-om je sporo za poludit. Probao sam i direktno document.createElement, i documentFragment i innerHTML, znacajnijih razlika nema. Jedino sto nisam probao jest kreirat tabelu na serveru, poslat je s inicijalnim requestom na client, grid da primi referencu na nju i onda na bindu da samo puni table.rows[x].cells[y]. innerHTML = obj.property... To je jedina ideja koja mi je ostala ne znam bil to sta pomoglo? Ili netko ima jos kakvu ideju? Hitno mi. Hvala unaprijed. Pozdrav
__________________
postoje ludosti bez kojih je nemoguce ljudsko dostojanstvo |
24. 08. 2010. | #2 |
old school
Professional
Datum učlanjenja: 15.06.2005
Lokacija: Novi Beograd
Poruke: 448
Hvala: 21
70 "Hvala" u 46 poruka
|
Ja bih išao još i dalje - kreirao bih _celi_ inicijalni prikaz tabele, sa svim vrednostima, na serveru i to poslao klijentu kao rezultat poziva.
JS bih koristio samo za izmene vrednosti u gridu.
__________________
http://www.vesic.org | Blog: http://www.vesic.org/blog/ | Fina kolekcija programa: http://www.vesic.org/programi/ |
24. 08. 2010. | #3 |
Domagoj Horvat
Expert
|
Na sto mislis sa 'svim vrijednostima'? Mislis tu na stilove ili konkretne podatke?
Jer, podaci ocito ne dolaze u obzir posto ce se oni punit JSONom dobivenim ajax pozivom, ali oni ionako nisu problem. Krenuo sam upravo prekodirat taj dio, istrest cu cijeli prikaz tabele sa servera pa cemo vidjet sta ce ispast i koliko ce poboljsat. PS. Imas li konkretno iskustvo s ovim? Usporedbu performansi?
__________________
postoje ludosti bez kojih je nemoguce ljudsko dostojanstvo |
24. 08. 2010. | #4 |
old school
Professional
Datum učlanjenja: 15.06.2005
Lokacija: Novi Beograd
Poruke: 448
Hvala: 21
70 "Hvala" u 46 poruka
|
U najvećem broju slučajeva, prilikom prikazivanja bilo kog grida, početni uslovi (šta se treba prvo prikazati) su poznati (pa makar bili i oni default) - zato, kreiram celu stranicu na serveru (sa popunjenim podacima) a onda radim sa JSON izmenu.
Možeš i da formiraš celu tabelu (praznu), ali će ti inicijalno punjenje (preko JSON-a) biti solidno sporo - u zavisnosti od browsera, i od organizacije koda (koliko paralelnih JSON-a može da se odradi). Postoji i fora sa vidljivim delom grida, pa samo njega popunjavaš, a ostatak dovlačiš na skroll po gridu - samo je ovo solidno pipavo za izvođenje.
__________________
http://www.vesic.org | Blog: http://www.vesic.org/blog/ | Fina kolekcija programa: http://www.vesic.org/programi/ |
24. 08. 2010. | #5 | ||
Domagoj Horvat
Expert
|
Citat:
Citat:
Point je, covjek naviko na dekstop aplikaciju u kojoj je imao rijeseno tako da sve vidi odjednom i nemos ga krstit. Javim se svakako kad prepisem kod da vidimo razliku.
__________________
postoje ludosti bez kojih je nemoguce ljudsko dostojanstvo Poslednja izmena od dee : 24. 08. 2010. u 13:00. |
||
24. 08. 2010. | #6 |
Ivan Dilber
Sir Write-a-Lot
|
a da napravis nesto kao ono sto se koristi za strane sa puno slika, da kako skrolujes na dole ajax u pozadini ucitava nove redove?
__________________
Leadership is the art of getting people to want to do what you know must be done. |
24. 08. 2010. | #7 | ||
Domagoj Horvat
Expert
|
Citat:
Citat:
Oce sve.
__________________
postoje ludosti bez kojih je nemoguce ljudsko dostojanstvo |
||
24. 08. 2010. | #8 |
expert
Expert
Datum učlanjenja: 27.11.2005
Poruke: 543
Hvala: 47
57 "Hvala" u 31 poruka
|
Baš se ovih sekundi mučim sa sličnim problemom... Izabrao sam Datatables - http://www.datatables.net/examples/ - kao grid... Što se performansi na 1000 zapisa tiče, na Firefox-u radi solidno dobro, na Chrome extra brzo dok mi je IE zakucao na par sekundi. Pa sad ... vidi da nađeš neko optimalno rešenje ili da ubediš klijenta da proba neki drugi browser.
|
24. 08. 2010. | #9 | |
Domagoj Horvat
Expert
|
Citat:
Inace, imam svoju grid kontrolu koja mi vozi x projekata i radi ko urica...al jbg, svugdje ima nekakav filter ili pagination koji stvari drzi u granicama normalnog (up to 100) i tu radi samo tako. Znas li kako taj grid radi render tabele? Kojom metodom? Jesi gledo ispod haube?
__________________
postoje ludosti bez kojih je nemoguce ljudsko dostojanstvo |
|
24. 08. 2010. | #10 |
Ivan Dilber
Sir Write-a-Lot
|
ja sam mislio malo jednostavnije, da se samo dodaju redovi postupno, a ne bas da se pravi vidljivi frame koji se skroluje gore dole (sto bi zahtevalo da se brisu redovi)
Takodje probaj da dodajes samo tr preko DOM-a, a da onda upisujes innerHTML, kroz maglu se secam da sam tako nesto nekad procitao... I jos jedna ideja, podeli tabele na vise manjih tabela (tipa 200 redova svaka).. to ti malo komplikuje logiku, ali trebalo bi da upali...
__________________
Leadership is the art of getting people to want to do what you know must be done. |
|
|
Slične teme | ||||
Tema | Početna poruka teme | Forum | Odgovori | Poslednja poruka |
Velika Britanija pred promenama?! | glaspodrinja.com | Opušteno | 12 | 07. 05. 2010. 13:10 |
Velika pohvala za DevProTalk.com | marijano | Obaveštenja, predlozi i pitanja | 6 | 13. 11. 2008. 15:03 |
VB vs. SMF. performanse? | pcigre | PHP | 3 | 13. 03. 2008. 23:07 |