IE 11 Slow Rendering

IE 11 Slow Rendering

MarkColeMarkCole Posts: 4Questions: 1Answers: 0

Hello,

I'm currently struggling with an issue in IE11 where Datatables can take up to 30 seconds to load and freezes the whole browser while doing so.

Here is my test case: live.datatables.net/sapakati/6. I've substituted some parts as I can't link our internal site directly, mainly just the AJAX response. However the same issue appears on the test case, when opened with IE11 it can take a while to render the table. As I'm using the scroller plugin, as soon as I scroll past the bounds, it loads the next part of the table, and again the browser will freeze and the table rendering will take a large amount of time.

We use Serverside rendering and I have verified that we are returning a response in under 100ms, with the correct number of results being requested by DataTables.

I have tried disabling the various extensions (scroller, select, responsive) and still run into the same problem. I have a feeling its down to the fact we want to show so many columns and rows at once.

Any tips or suggestions on how I can optimise this would be greatly appreciated.

Regards,
Mark

Answers

  • allanallan Posts: 63,457Questions: 1Answers: 10,465 Site admin

    How many records is your server-side processing responding with? You might be right about the columns, it I've seen tables with many more than that and it shouldn't cause an issue.

    Allan

  • MarkColeMarkCole Posts: 4Questions: 1Answers: 0

    The serverside processing is responding with 333 records. My script receives the following parameters:

    _   1537258005126
    ajaxfunction    getAddressList
    columns[0][data]    kdnr
    columns[0][name]    
    columns[0][orderable]   true
    columns[0][search][regex]   false
    columns[0][search][value]   
    columns[0][searchable]  true
    columns[1][data]    branche
    columns[1][name]    
    columns[1][orderable]   true
    columns[1][search][regex]   false
    columns[1][search][value]   
    columns[1][searchable]  true
    columns[10][data]   ki
    columns[10][name]   
    columns[10][orderable]  true
    columns[10][search][regex]  false
    columns[10][search][value]  
    columns[10][searchable] true
    columns[11][data]   firmenname
    columns[11][name]   
    columns[11][orderable]  true
    columns[11][search][regex]  false
    columns[11][search][value]  
    columns[11][searchable] true
    columns[12][data]   strasse_hausnummer
    columns[12][name]   
    columns[12][orderable]  true
    columns[12][search][regex]  false
    columns[12][search][value]  
    columns[12][searchable] true
    columns[13][data]   plz
    columns[13][name]   
    columns[13][orderable]  true
    columns[13][search][regex]  false
    columns[13][search][value]  
    columns[13][searchable] true
    columns[14][data]   ort
    columns[14][name]   
    columns[14][orderable]  true
    columns[14][search][regex]  false
    columns[14][search][value]  
    columns[14][searchable] true
    columns[15][data]   telefon1
    columns[15][name]   
    columns[15][orderable]  true
    columns[15][search][regex]  false
    columns[15][search][value]  
    columns[15][searchable] true
    columns[2][data]    adress_vertrag_sbl
    columns[2][name]    
    columns[2][orderable]   true
    columns[2][search][regex]   false
    columns[2][search][value]   
    columns[2][searchable]  true
    columns[3][data]    adress_vertrag_fbl
    columns[3][name]    
    columns[3][orderable]   true
    columns[3][search][regex]   false
    columns[3][search][value]   
    columns[3][searchable]  true
    columns[4][data]    adress_vertrag_wbl
    columns[4][name]    
    columns[4][orderable]   true
    columns[4][search][regex]   false
    columns[4][search][value]   
    columns[4][searchable]  true
    columns[5][data]    mitbewerber
    columns[5][name]    
    columns[5][orderable]   true
    columns[5][search][regex]   false
    columns[5][search][value]   
    columns[5][searchable]  true
    columns[6][data]    prioritaet
    columns[6][name]    
    columns[6][orderable]   true
    columns[6][search][regex]   false
    columns[6][search][value]   
    columns[6][searchable]  true
    columns[7][data]    termin
    columns[7][name]    
    columns[7][orderable]   true
    columns[7][search][regex]   false
    columns[7][search][value]   
    columns[7][searchable]  true
    columns[8][data]    status_change
    columns[8][name]    
    columns[8][orderable]   true
    columns[8][search][regex]   false
    columns[8][search][value]   
    columns[8][searchable]  true
    columns[9][data]    wiedervorlage
    columns[9][name]    
    columns[9][orderable]   true
    columns[9][search][regex]   false
    columns[9][search][value]   
    columns[9][searchable]  true
    draw    1
    length  333
    order[0][column]    0
    order[0][dir]   asc
    region_id   167
    search[regex]   false
    search[value]   
    start   102
    

    And responds with the requested 333 records with an offset of 102 as per the length and start parameters.

  • MarkColeMarkCole Posts: 4Questions: 1Answers: 0

    For anyone running into the same problem as me, it seems the main slowdown was being caused by the responsive extension. After removing it completely I've seen a dramatic speed increase in IE.

  • rf1234rf1234 Posts: 2,984Questions: 87Answers: 421

    Thanks! I will try this for IE as well. Currently I discourage the use of IE because it is so slow.

  • rf1234rf1234 Posts: 2,984Questions: 87Answers: 421

    Turning off responsive helped to make IE11 a little faster. But it is still very slow compared with Chrome, Edge or Firefox.

  • MarkColeMarkCole Posts: 4Questions: 1Answers: 0

    If you find anything else to tweak I'd love to hear it, I have tried multiple things but it seems to be the only thing thats provided me with a noticeable difference.

    It was sometimes taking 30+ seconds to render for me on IE11. Now it takes about 4-5 seconds, which while still much slower than Chrome/Firefox/etc might be passable for my usecase.

This discussion has been closed.