PDA

View Full Version : Performance of Grid. Taking too long to show records



jaime.brito
4 Feb 2015, 7:51 AM
Hello,

I have a grid that receives about 1200 records with 11 columns. According to firebug it takes about 131ms to get the information from the server but then it takes about 2 minutes for it to show the records on the grid.

The code for it to load the store is on gridpanel add event:


onGridAdded: function(component, eOpts) {
Store_data({
}, function(res){

var this_store=component.getStore();

this_store.loadData(res.resultSets[0]);


}, this);
},

I have the folowing render is each column:

renderer: function(value, metaData, record, rowIndex, colIndex, store, view) {
switch(value.trim()){

case "OK":
metaData.style="background-color:#9BCB9B;";
return value;
case "WAIT":
metaData.style = "background-color:white;";
return value;

case "ERROR":
metaData.style = "background-color:#DB4D4D;";
return value;
}

}

Is it normal for it to take 2 minutes to show the data. Am I doing anything wrong?

P.s. I am using Buffered Render

Thank you
Jaime

LesJ
4 Feb 2015, 11:32 AM
See if you could use Buffered renderer for the grid.

jaime.brito
5 Feb 2015, 2:02 AM
I forgot to mention but i am already using it

joel.watson
5 Feb 2015, 6:51 AM
Hi jaime--

Without seeing the issue in action (or more of your code + the data you're using), it's difficult to suggest anything other than what has already been suggested.

I would encourage you to put together a test case that demonstrates the issue. For example, I have a Fiddle (below) which simulates the network latency of the request and loads 1200 records into a grid with 11 columns and uses the renderer you shared. Even without buffered rendering, it loads very quickly.

Of course, I don't know the data that you're using, what other pieces you have in the background, etc. However, you might start by forking the fiddle and trying to replicate your issue there. Once that happens, it will be much easier to recommend ways to improve the performance.

Thanks!
Joel

ho7

yeghikyan
27 Feb 2015, 11:36 AM
1200*11=13200 cells with renderers, events and other staff :D
There is a paging toolbar, you can use it to avoid dom/browser and even computer overloading :)