tradingtechnologies/SlickGrid — pull request #11 by efurmantt (2014-10-14 19:12:08+00:00)
Title: DEB-11363 grid optimizations

@sergiopereiraTT Could you please review?
@slikrik98 I think you'll be interested in this change as well.

I profiled the performance of adding and removing rows and found the biggest bottlenecks to be DOM reads (`scrollTop` inside `updateRowCount`) and writes (`width` inside `updateCanvasWidth`). This change refactors out the read of `scrollTop` and the write to `width` where possible.

Inside `updateRowCount`, there is a debounced invokation of `render` using the `h_render` variable. So after this change `updateRowCount` shouldn't be the source many problems for us.

I do see other places in our code where `render` is being called (directly or indirectly) too frequently. `render` is expensive as it rebuilds the grid, as @slikrik98 has pointed out. This change doesn't tackle that part of the problem.