Speed Improvement

Hi,

We are actually evaluating the DHTMLX Grid plugin, and we found it kind of slow (in our use case), and by slow I mean 3-4 secs to render 3 rows (but with a lot of columns (60~ish).

So I read the documentation about loading big datasets, and stumble upon three things:

enableSmartRendering(true)
start/stopFastOperations()
and enableDistributedParsing().

The first one did not bring any noticeable speed improvement,
The second one seems to work but it’s breaking some of our custom code (for a specific column id we are changing the value dynamically, the columns positions are not observed, and columns flagged as hidden are still displayed).

So I try the second one, but this time I can’t load data, it seems that the parameters are not the same for some event handlers (onXLE).

So i ended up doing this:

  • I create a document fragment
  • I attach a div element to it
  • I instanciate the grid on this particular element.
  • Once I’m done with the custom logic and data processing, I attach the fragment to the page

As a result the speed rendering has been drastically increased (down to less than a second).

So I would like to know, what I did wrong when I used the first methods (I can provide the code) ?
And also is this solution viable?

PS: I also noticed that the csv export does not take in account if a column is hidden or not, and it does not wrap field with double quotes( to prevent for example to have a value with comas to break the formatting).

Could you please, provide your original problematic code.

Thank you for taking the time to analyse our issue, you’ll find below the link to our original code (with slow rendering time).

gist.github.com/damien-biasotto … al_grid-js