DevProTalk

Forumi IT profesionalaca
web development, web design, e-business, SEO


Idite nazad   DevProTalk > Web development i web aplikacije > (X)HTML, JavaScript, DHTML, XML, CSS
Želite da se reklamirate ekskluzivno na ovoj poziciji? Javite se

(X)HTML, JavaScript, DHTML, XML, CSS Client scripting tehnologije, Dynamic HTML, Cascading Stylesheets, XML i standardi

Odgovori
 
Alati teme Način prikaza
Staro 24. 08. 2010.   #1
dee
Domagoj Horvat
Expert
 
Avatar dee
 
Datum učlanjenja: 24.07.2006
Lokacija: Zagreb
Poruke: 502
Hvala: 22
10 "Hvala" u 8 poruka
dee is on a distinguished road
Pošaljite ICQ poruku za dee
Default 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
dee je offline   Odgovorite uz citat
Staro 24. 08. 2010.   #2
DejanVesic
old school
Professional
 
Avatar DejanVesic
 
Datum učlanjenja: 15.06.2005
Lokacija: Novi Beograd
Poruke: 448
Hvala: 21
70 "Hvala" u 46 poruka
DejanVesic će postati "faca" uskoro
Default

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/
DejanVesic je offline   Odgovorite uz citat
Staro 24. 08. 2010.   #3
dee
Domagoj Horvat
Expert
 
Avatar dee
 
Datum učlanjenja: 24.07.2006
Lokacija: Zagreb
Poruke: 502
Hvala: 22
10 "Hvala" u 8 poruka
dee is on a distinguished road
Pošaljite ICQ poruku za dee
Default

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
dee je offline   Odgovorite uz citat
Staro 24. 08. 2010.   #4
DejanVesic
old school
Professional
 
Avatar DejanVesic
 
Datum učlanjenja: 15.06.2005
Lokacija: Novi Beograd
Poruke: 448
Hvala: 21
70 "Hvala" u 46 poruka
DejanVesic će postati "faca" uskoro
Default

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/
DejanVesic je offline   Odgovorite uz citat
Staro 24. 08. 2010.   #5
dee
Domagoj Horvat
Expert
 
Avatar dee
 
Datum učlanjenja: 24.07.2006
Lokacija: Zagreb
Poruke: 502
Hvala: 22
10 "Hvala" u 8 poruka
dee is on a distinguished road
Pošaljite ICQ poruku za dee
Default

Citat:
Originalno napisao DejanVesic Pogledajte poruku
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).
Mislim da ovo ne bi trebao bit problem u mom slucaju jer sudeci po FF profileru 80% vremena cijelog requesta i rendera stranice ode na kreiranje tablice. JSON evaluation i procesiranje uzme minorni dio.

Citat:
Originalno napisao DejanVesic Pogledajte poruku
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.
Jest pipavo ali ne bi trebalo bit prevelik problem. To mi je bila prva ideja nakon sto je pagination odbijen kao opcija, ali i ova je glatko odbijena.
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.
dee je offline   Odgovorite uz citat
Staro 24. 08. 2010.   #6
ivanhoe
Ivan Dilber
Sir Write-a-Lot
 
Avatar ivanhoe
 
Datum učlanjenja: 18.10.2005
Lokacija: Bgd
Poruke: 5.320
Hvala: 104
2.344 "Hvala" u 583 poruka
ivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svima
Pošaljite poruku preko Skype™ za ivanhoe
Default

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.
ivanhoe je offline   Odgovorite uz citat
Staro 24. 08. 2010.   #7
dee
Domagoj Horvat
Expert
 
Avatar dee
 
Datum učlanjenja: 24.07.2006
Lokacija: Zagreb
Poruke: 502
Hvala: 22
10 "Hvala" u 8 poruka
dee is on a distinguished road
Pošaljite ICQ poruku za dee
Default

Citat:
Originalno napisao ivanhoe Pogledajte poruku
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?
To je ovo sto je Dejan predlozio...

Citat:
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.
I to sam predlozio kao rjesenje prvo nakon odbijenice za pagination. Ali i to jok.
Oce sve.
__________________
postoje ludosti bez kojih je nemoguce ljudsko dostojanstvo
dee je offline   Odgovorite uz citat
Staro 24. 08. 2010.   #8
ppavlovic
expert
Expert
 
Avatar ppavlovic
 
Datum učlanjenja: 27.11.2005
Poruke: 543
Hvala: 47
57 "Hvala" u 31 poruka
ppavlovic će postati "faca" uskoro
Default

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.
__________________
MojNoviAuto.com - Tvoj prvi sajt za kupovinu novog automobila
ppavlovic je offline   Odgovorite uz citat
Staro 24. 08. 2010.   #9
dee
Domagoj Horvat
Expert
 
Avatar dee
 
Datum učlanjenja: 24.07.2006
Lokacija: Zagreb
Poruke: 502
Hvala: 22
10 "Hvala" u 8 poruka
dee is on a distinguished road
Pošaljite ICQ poruku za dee
Default

Citat:
Originalno napisao ppavlovic Pogledajte poruku
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.
Uvjeravanje otpada ko mogucnost

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
dee je offline   Odgovorite uz citat
Staro 24. 08. 2010.   #10
ivanhoe
Ivan Dilber
Sir Write-a-Lot
 
Avatar ivanhoe
 
Datum učlanjenja: 18.10.2005
Lokacija: Bgd
Poruke: 5.320
Hvala: 104
2.344 "Hvala" u 583 poruka
ivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svimaivanhoe je ime poznato svima
Pošaljite poruku preko Skype™ za ivanhoe
Default

Citat:
Originalno napisao dee Pogledajte poruku
To je ovo sto je Dejan predlozio...
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.
ivanhoe je offline   Odgovorite uz citat
Odgovori



Pravila pisanja
Možete ne započinjati nove teme
Možete ne slati odgovore
Možete ne slati priloge
Možete ne izmeniti svoje poruke
vB kôd je Uključen
Smajliji su Uključen
[IMG] kod je Uključen
HTML kôd je Isključen
Pogledajte forum

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


Vreme je GMT +2. Trenutno vreme je 01:02.


Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.
Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.