We are using HandOntable plugin. We are mapping data with custom render logic. We have customized columns. End user experiences slowness during usage and we are not able to reproduce the issue. Are there any flags which we can enable to trace the slowness and narrow down the issue. We have enabled profiler in IE. profiler is referring to Handontable operations with lots of execution time. Any help is appraised. Let me know what inputs are needed to narrow down the issue.
Performace issue with Handontable
Hi @kotagirilakshmi.p
If you cannor replicate the same behavior it will be difficult for us as well. However there are some actions that you may take to boost the performance of your table to all users. Here’s a quick tutorial: https://docs.handsontable.com/pro/1.6.0/tutorial-performance-tips.html
Also if you could share a demo with your grid settings I’d be happy to take a look and maybe speed up handling of the grid.
Hi,
In the process of identifying the issue or to narrow down the problem we have created a simple javascript in our code where we are calling our function which created Handsontable plugin… Please find the attachment which shows execution times respectively when we execute the same for 25 times. More details are provided below:
Use case : 1. Client has 15 to 20 check boxes in tool bar ,When selecting and unselecting the checkboxes respective details has to be shown with HandsOntable plugin.
2. While rendering data in table , depending upon Column type , formatting has to be applied.
3. Editing of cell should be enabled for few columns data.
4. When we expand the row , few more details of the row should be shown.
With this we are nearly we are having total of 100 to 110 columns and there might be 50 rows in average.
Design : We are creating javascript global object. While rendering the HTML : we are fallowing below steps :
- GetSelectedColumsList to display from menu (by default all will be selected)
- GetDataAsJSONObject (for testing we have hardcoded JSON data)
- Create HandsOntableInstance and assign it to global object.
- When creating HandsOntable map data and subscribe to CustomCellRendering.
- In CustomCellRendering we have kept Switch case to format the cell data.
What we have observed is whenever we are selecting and unselecting the checkboxes in toolbar, we are calling the same function which created HandsOntable object everytime. Also we are referring the HandOntable instance at there other places when clicking on some butttons to redraw table.
We have automated selecting and unselecting the checkboxes , have noticed execution time being taken in HandsOnTable TableView.prototype.render . I believe we need to clean up HandOnTable instances before creating everytime . We made changes to make to null before creating new object.
Can you clarify :-
- Setting javascript global variable to null is enough to avoid any memory leaks or anything you suggest to clean up .
- With the above information would you suggest any change in implementation.
Note : tableShowHide and Mapresponse are out functions.
Thanks.
Hi @kotagirilakshmi.p
Thanks for detailed explanation. I’ve asked our developers to check your request but basically without the code there’s not much that we can do or advice.
It looks like there could be a problem with the rendering or with checkboxes but those are only first picks.