PDA

View Full Version : DataGrid performance problems (call aborted)



Geziefer
7 Jan 2011, 6:37 AM
Hello,

I have problems with one of my views. Besides other elements, it contains a grid panel which is set by its json store's jsp call.
The problem is, that often the call gets aborted after 30s (I guess it's some Windows or browser timeout) and the grid stays empty.
But even though there are around 750 lines in the grid (for other reasons we have to do without paging here) this should by far not be a problem for displaying within a browser (at least we used that in JEE applications all the time).
I checked, that the database call for retrieving the data only takes less than a second and the extraction from the resultset and convert to json within the jsp on the tomcat as well. Network is also not an issue, since everything is on my local machine.
So the question is, why does the grid takes so long to display? And how can one tackle that problem (without having to limit the number of lines here)?
(Maybe this behaviour is related to the fact that it also takes time in the range of 10+ seconds to render after resizing the grid panel.)

Thanks and regards,
Alex

darthwes
7 Jan 2011, 3:11 PM
Because it's IE.

Condor
8 Jan 2011, 3:20 AM
First check if it is the request or the rendering that takes so long (e.g. using the Firebug Net tab).

If it's the rendering then try some GridPanel alternatives:

- ListView
- TableGridView
- BufferView / LiveGrid
- PagingStore (local paging)

Geziefer
8 Jan 2011, 3:34 AM
Because it's IE.
Definitely not, since I have the same behaviour in Firefox.

Geziefer
10 Jan 2011, 12:08 AM
First check if it is the request or the rendering that takes so long (e.g. using the Firebug Net tab).

Well, I see the POST request taking so long, but it's not the server's jsp which takes the time, so I don't know where it's lost, that's why I assumed it may have to do with rendering everything even though only a few lines are visible.

But since I experience much waiting time when just resizing the panels, I think it must be something on the client, since no server request is involved there.

Condor
10 Jan 2011, 4:14 AM
You're not clear. Does the request take so long or does rendering the rows take so long?

How many msec does the POST take?

Geziefer
10 Jan 2011, 5:37 AM
It turns out to be the server side indeed which takes the time, I missed something while measuring - sorry for that.

But still, when changing the view (e.g. resize a column), it takes about 10s until the view is rendered. Firebug then tells me, that syncHeaderScroll takes the most time (see attached screenshot).
Why is that so?

24181

Condor
10 Jan 2011, 5:50 AM
This is a known limitation of the current GridView implementation. Try some of the suggestions I mentioned before.