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.   #11
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

Probao sam i innerHTML, nije pokazalo nikakve bitne razlike na 6000 cellova (1000 redova sa 6 kolona).

Ovo sto kazes sa vise tablica bi moglo upalit iako bi za to morao zagrebat dobro po kodu. Doduse, pomoglo bi samo za IE koji ceka </table> ending tag pa bi u ovom slucaju pokazivao tabelu po tabelu. Ajde, to bi malo popravilo dojam, ali opet, procesiranje bi bilo jednako dugo (ili cak i duze).

Probao sam i ovo sa inicijalnim istresanjem grida sa servera ali ni to nije nesto previse pomoglo. Zadnje sto sam sad radio je da nemam nikakve iteracije po tabeli vec da sa servera istresem cellove sa x,y IDovima (cell_rowNo_colNo) medjutim ni tu nista. Je to sve skupa nesto brze, ali ni priblizno kako bi moralo radit u ajax aplikaciji. Jer, ako je svrha ajax aplikacije da je brza i responsive, onda ovo nije to onda je server side grid bolji.

Jedino sto se sad mislim je da sklepam grid layout od ULova, ne znam bil to sta ubrzalo stvar...ali vec u startu mi je ruzna ideja jer nesto sto je namijenjeno tablicnom prikazu forsiram u nesto drugo.

Cini se da je zadnja istina: 6 hiljada elemenata je 6 hiljada elemenata...
__________________
postoje ludosti bez kojih je nemoguce ljudsko dostojanstvo
dee je offline   Odgovorite uz citat
Staro 25. 08. 2010.   #12
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

Dakle, kratki rezime ako ce nekad nekome trebat...

Sto se tice renderiranja velikih tabela...

Ima ona prica o tome da IE ceka table ending tag, ali ima jos nesto sto nisam znao a danas naucih. Browser rendering engine i javascript su u istom threadu! Meni je to bilo zestoko otkrice. I zato browser ne moze renderirat sadrzaj dok se izvrsava neki javascript. Tu na scenu stupa setTimeout koji osigurava mrvu pauze da render engine preuzme rijec.


Ono sto sam napravio...

Prekodirao sam svoju grid kontrolu tako da sad osim grid.bind metode ima i grid.multipleBind. Razlika je u tome sto grid.Bind pocisti kontejner grid kontrole (dakle tablicu) prije rendanja, a grid.multipleBind ne cisti nego kreira novu. Obje metode, naravno, na svom kraju rade gridcontainer.appendChild(tabla).

Na mjestu gdje se poziva grid.bind (ili multipleBind) korisnik odlucuje sto mu treba i to na osnovi velicine JSON kolekcije koju dobiva kao ajax response. Tu ide neka chunkSize velicina (koja se moze izvuc u config file) i tad je slucaj:

a) collection.length < chunkSize => grid.bind(collection)

b) colelction.length > chunkSize =>

Ovdje imamo malo peripetija.
Napravio sam kratku rutinu koja podijeli kolekciju na x odsjecaka (kao pagination) i ide poziv na grid.multipleBind(chunk), ali ima jedna fora. Izmedju poziva mora ici:

setTimeout(closurePoziva)

Naime, iako imamo onoliko tabela koliko chunkova, svejedno browser ceka neki mali dio vremena da se sve izracuna pa tek onda da prikaze. Kako bi se napravio force DOM update, setTimeout sa par desetaka milisekundi rijesava stvar.


Nakon cijelo dana peripetija i zajebancije, moram priznat, hiljadu rekorda istrese na klijenta ko od sale. Radi fakat lijepo.

Eto, ako ce kome bit korisno, nek stoji.

Hvala svima jos jednom na komentarima.
__________________
postoje ludosti bez kojih je nemoguce ljudsko dostojanstvo
dee je offline   Odgovorite uz citat
Staro 25. 08. 2010.   #13
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

Vrlo lepo :-)
__________________
http://www.vesic.org | Blog: http://www.vesic.org/blog/ | Fina kolekcija programa: http://www.vesic.org/programi/
DejanVesic je offline   Odgovorite uz citat
Odgovori


Alati teme
Način prikaza

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 15:27.


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.