Hi,
we have a performance issue when user stays on igGrid for longer than 10 minutes on IE families. the issue happening at infragistics.ui.grid.framework.js on _resizeContainer function. _resizeContainer get called every 300ms (I believe that's default value) and calls JQuery width() and height(). As result we see a long execution time on IE Profiler (developer tool) for JQuery internal swap function. this problem freezes IE and causes some unexpected behavior later. please see attached Profiler screen shot
I wonder if anyone knows what is the exact purpose of _resizeContainer and why it gets called every 300ms. Is there anyway we use event listener or event trigger instead of executing it so often?
as temporary workaround, we modified _resizeContainer not to use JQuery and calculate width and height from css and clientHeight / clientWidth.
Any suggestion or similar experience with this issue?
Hi Petar,
The problems is on IE families. the provided screenshot was from IE9.
Here is our jquery and jquery ui versions:
jQuery v1.7.1jQuery UI - v1.8.21
Thank you,
Hi mxu,
Thank you for your patience.
Can you please provide me with some information regarding the exact versions of jQuery and jQuery UI and whether the performance issue is more prominent in a specific browser version to allow me to create a sample and test the scenario in identical conditions to yours ?
Hello mxu,
Thank you for your reply.
I am currently discussing this matter with our engineers and will keep you posted of any available information.
_resizeContainer get called independent from most grid settings and features. Here is javascript calling it inside infragistics.ui.grid.framework.js:
if ((this.options.height !== null && this.options.height.indexOf && this.options.height.indexOf('%') !== -1) || (this.options.height !== null && this.options.width !== null)) { this._resId = setInterval($.proxy(this._resizeContainer, this), this.resizeTimeout); }
as you can see from this code, if height and width conditions are met, _resizeContainer get called based on value of "this.resizeTimeout". default value for this.resizeTimeout is 300 (ms)
regarding your question, our grids are typically 10+ columns and this problem occurs even before adding any row to it.
we also use sorting, select, tooltip, resize features on grid. please note that we typically have more than one grid on a single page (usually 3+). the Profiler screenshot provided was from a page with several grids but we have the same issue even with only 3 grids although with only 3 grids, it takes longer to reproduce the problem.