I have a largish grid (21 columns, 1300 rows). I've been noticing that particularly in Firefox scroll performance is sluggish.
I ran some profiling on both Chrome and FF and notice that $digest is being called for each scroll event and consuming a lot of time particularly in Firefox. I've read previously that it's the case that $digest on Chrome is much more efficient.
By default one could assume that only the viewport is being changed by the scroll event and not the underlying data, although I imagine it can be tricky to convey this to the Angular framework. In time I assume $digest will work faster in Firefox, but for now would there be a workaround either within ng-grid or possibly in the user code?
(sorry for the original terse message, I hit too quickly and Github took it).
can you provide more insight into the problem you are seeing? what OS, browser, how many rows/columns?
no problem, unfortunately I can't really control the $digest in firefox and that's the only way to get the bindings to happen properly. we originally were causing an ng-repeat watch to fire (which is much more intensive than digest)and was causing worse performance issues. Since solving that we are pretty much stuck to letting digest do its thing with the bindings.
I did some experimenting and have to agree. Taking out $digest prevents the new virtual rows from being added, and even adding some throttling (I tried 50 and 250ms) wasn't enough to make performance noticeably better. If I get really motivated I could see about either calling the bindings directly. For now it just sounds easier to advise my users to use Chrome.
I'm running into similar problems, but with grouping and sorting. Also, my use case is much bigger than the one mentioned in the issue, and may vary a lot because its for a dashboard.
Anything I could do about it, without touching ng-grid code?
I experience the same issue in FF 29.0.1 - really poor horizontal scrolling performance with ~15 columns and ~5 rows.