Performance IE8: both ajax source and server side processing (both have bDeferRender enabled)
Performance IE8: both ajax source and server side processing (both have bDeferRender enabled)
rgvcorley
Posts: 29Questions: 0Answers: 0
Just had some fun reading the discussions in the forums that the bDeferRender feature was born out of!
I've got a couple of my tables that almost completely lock up the entire page when rendered in IE8, one is Ajax source, the other server side. Both use bDeferRender: true.
The table takes about 8 seconds to render and then any filtering/sorting takes at least 10 seconds. Other things on the page are also slow - for example a plain CSS rollover (not in the table) takes over a second to change!
Here is the debug info for the server side table:-
http://debug.datatables.net/igaqor
Any ideas?
p.s. I have another table which is identical initialization as the ajax source one but only has a single row and it renders fine.
I've got a couple of my tables that almost completely lock up the entire page when rendered in IE8, one is Ajax source, the other server side. Both use bDeferRender: true.
The table takes about 8 seconds to render and then any filtering/sorting takes at least 10 seconds. Other things on the page are also slow - for example a plain CSS rollover (not in the table) takes over a second to change!
Here is the debug info for the server side table:-
http://debug.datatables.net/igaqor
Any ideas?
p.s. I have another table which is identical initialization as the ajax source one but only has a single row and it renders fine.
This discussion has been closed.
Replies
So given that only 200 rows are being drawn per page, my first thought is, how long does your Ajax request take to get a reply to? The 'Network' tab in Webkit's Inspector is really handy for looking at that kind of thing.
Regards,
Allan
Could be an interaction with another script on the page - I'll have a bit more of a play, try disabling some of the other scripts/and or DT features and see if I can narrow down the issue
Allan
Why are such simple things in CSS like a layout that fills the viewport near impossible to get to work cross browser without many hundreds of hours of fiddling around with all the stupid idiosyncrasies of M*soft 's Sh*ty browsers
Oh well - there goes another chunk of my life - Mircrosoft should have outsourced their browser development to Mozilla.
Allan
Once I do get this working I'm going to write it as a plugin and put it on the web somewhere so that anyone else wanting a table stretched to fill some element doesn't have to go through the same pain!
I'm not sure if IE8 has a profiler available, but if so, that would be very useful to see what is happening.
Allan
http://corley.co/IE8%20Profile%20for%20sorting%20on%20a%20column.csv
However despite the sorting being quicker the page still slows to a halt, see the profile below for opening one of the modal forms, it takes nearly 6 seconds!
http://corley.co/IE8_Profile%20for%20opening%20modal%20form.csv
Out of interest, if you disable infinite scrolling in DataTables, does that improve the situation at all? And what about if you comment out the call to fnAdjustColumnSizing?
6 seconds really is horrifically slow!
Allan
http://corley.co/sort.gif
http://corley.co/dialog.gif
This is with no calls to fnAdjustColumnSizing and infinite scrolling disabled.
I've just had another play and setting the buffer time to 2 seconds speeds things up a lot - for now I've just stuck in a conditional setting just for IE8 - I know that's band practice but I've got far too much still to do to fiddle with this one any longer!
So it must have been IE's over jealous resize events as you originally suggested!
Thankyou very much for your help with this one!