Seriously slow Grid performance

7 posts, 0 answers
  1. yuhan
    yuhan avatar
    4 posts
    Member since:
    Jan 2013

    Posted 21 Oct 2015 Link to this post

    Hi 

    We have integrated KendoUI Grid in our project and it went fine. But until recently we used it for a particularly complicated page, the performance become very slow and unacceptable when browse in IE. We tested IE8,9,11, all perform poorly. sometimes we even get the "stop script" error in IE. 

    Is there any suggestion? or solutions?

     

    Here's some details:

    • Kendo UI v2014.3.1119  
    • 33 columns
    • 250+ rows
    • 3 level grouping
    • some column is cell editable 
    • no paging is allowed
    • use groupHeaderTemplate and groupFooterTemplate to display subtotal
    • 2 columns freeze

     

  2. Pavlina
    Admin
    Pavlina avatar
    6084 posts

    Posted 21 Oct 2015 Link to this post

    Hello,

    Based on the provided information it seems that the main reason for the slowdown is the combination of frozen columns and a large number of rows.

    In order to fulfill this configuration, the Grid renders two tables and synchronizes their row heights and scroll positions.The time needed for this scales linearly with the number of rows. 

    In order to improve the performance in this case I recommend you either:
    a) Use virtual scrolling to reduce the actual number of rendered rows: http://demos.telerik.com/kendo-ui/grid/virtualization-remote-data
    b) Disable frozen columns

    Regards,
    Pavlina
    Telerik
     
    Join us on our journey to create the world's most complete HTML 5 UI Framework - download Kendo UI now!
     
  3. Kendo UI is VS 2017 Ready
  4. Dani
    Dani avatar
    55 posts
    Member since:
    Jan 2009

    Posted 21 Oct 2015 Link to this post

    Hi Yunan. I just want to add that, if you use "virtual scrolling", your grouping will not work as expected, if you set virtual scrolling you must use paging, and your "grouping" will only be applied on the "current" page, so your group totals will be inexact, and you will not see groups from other pages! That solution is almost unusable (enable grouping + enable virtual scroll)

    We also noticed some performance issues in IE also (the latest IE in Win10), cpu goes up to 20% on a I7 when scrolling! I didn't compare with oldest version of kendo to see if there's a difference... We use frozen, grouping, ... looks like we're using the grid the same way!

  5. yuhan
    yuhan avatar
    4 posts
    Member since:
    Jan 2013

    Posted 22 Oct 2015 Link to this post

    Then, there are no solution :(
  6. Pavlina
    Admin
    Pavlina avatar
    6084 posts

    Posted 23 Oct 2015 Link to this post

    Hello,

    In general the DOM operations are relatively slower in IE than in other modern browsers, because the IE browser cannot handle large amounts of HTML. Therefore to improve the performance we would recommend decreasing the pageSize, so less DOM elements are rendered or use virtual scrolling.

    Regards,
    Pavlina
    Telerik
     
    Join us on our journey to create the world's most complete HTML 5 UI Framework - download Kendo UI now!
     
  7. yuhan
    yuhan avatar
    4 posts
    Member since:
    Jan 2013

    Posted 25 Oct 2015 in reply to Pavlina Link to this post

    but my requirement is no paging.
  8. Pavlina
    Admin
    Pavlina avatar
    6084 posts

    Posted 28 Oct 2015 Link to this post

    Hi,

    Have you determined what exactly is slow - the data loading or the rendering of data rows? In case of large data it is recommended to use serverPaging. In this way the Grid will display and load the data in a small chunks which will significantly boost the performance. 

    If this is not an option for you we will need a runnable example in order to inspect further and provide additional advice how to improve the performance.

    Regards,
    Pavlina
    Telerik
     
    Join us on our journey to create the world's most complete HTML 5 UI Framework - download Kendo UI now!
     
Back to Top
Kendo UI is VS 2017 Ready