Poor Kendo performance with ng-repeat

2 posts, 0 answers
  1. Samuel
    Samuel avatar
    1 posts
    Member since:
    Oct 2015

    Posted 19 Nov 2015 Link to this post

    We're building an AngularJS app with a table consisting of about 200 rows, each of which contains one KendoNumericTextBox. The table is built with ng-repeat, not with KendoGrid, because we need more flexibility regarding the contents of the cells.

    Before we added the KendoNumericTextBoxes, loading the page took about 3s, and after adding the KendoNumericTextBoxes, it took 25s. The Chrome CPU profiler shows that most time is spent in the kendo library, which calls expensive jQuery functions.

    I isolated the problem into this jsFiddle: http://jsfiddle.net/Loauc0r6/2/
    In this small example, angular's Scope.$digest takes 1.4s, and if I remove the KendoNumericTextBoxes and replace it by normal inputs, it only takes 0.1s. Again, most time is spent in a kendo function called "link", which calls many expensive jQuery functions.

    Can you help us to get this running faster?

  2. Petyo
    Petyo avatar
    2437 posts

    Posted 23 Nov 2015 Link to this post


    Indeed, instantiating 200 numeric text boxes and enabling their AngularJS bindings is an expensive operation. Each widget instance performs certain actions (DOM mutation, event handler bindings) in order to provide the functionality expected. A thing worth noticing is that usually the same scenario works much faster if implemented without AngularJS - the two way databinding adds some additional performance penalties. 

    Join us on our journey to create the world's most complete HTML 5 UI Framework - download Kendo UI now!
Back to Top