My project is upgrading from .net framework 2.0 to 3.5 and we're upgrading infragistics (mainly UltraWebGrid) from 7.3.20073.1043 to 9.1.20091.2040. So far so good..
My client's are running IE6 and will upgrade to IE8 via Windows 7 later on this fall, but we have a major issue with performance.
Earlier the performance was within reason. We have limited the number of rows in the grids to 200, but with the new version it takes forever to render the page. Database searches usually takes < 0.02 secs so that's not an issue. The grids does not have any fancy features on, simply there to display data.The number of columns differ, but they does not exceed 15 so it shouldn't be an issue in my mind.
FireFox renders the grids in < 1 sec and IE sometimes > 30 secs.
Iv'e spent a few hours going through the forums looking for clues, but all I could find was people with the same issues.
My client does NOT want paging nor "Load on demand", they would rather be able to display > 200 rows.
What can I do to increase performance in IE8, or when can I expect a hot fix for the problem?
Just a little FYI, from my experience this problem is 95% the fault of IE8, if it renders in anything but IE8 standards mode.
Apparently the compatibility view / quirks mode has some internal "optimization" that stores DOM elements (or maybe actually only table cell elements) by ID in some, I assume, poorly implemented hash table - something not present in the IE7 or IE6 render engines. The result is that assigning IDs to table cells (which is what the grid does quite a lot on initialization or when looping through the rows clientside) degrades performance exponentially.
The behavior can be easily reproduced with a simple HTML/JavaScript test app, one I've for example attached to this post. The company I work for sent the same issue to Microsoft, but the answer was basically "not our problem" and "get bent". Go figure.