We've had numerous customers report a slowdown in our WinForm client since the February 2021 Windows 10 Cumulative update. We have been working with Microsoft developer support to find what caused this. It appears this update introduced a slowdown in the WIndows API GdipMeasureString. One place this gets called is from Graphics.MeasureString. Microsoft is working on a fix for this but so far the solution they have come up with does not seem to return performance to it's original levels.
One spot we have found where MeasureString gets called is from the UltraGrid. For instance setting the Active row will trigger a call into the Infragistics.Win.DrawUtility.MeasureString method which in turn calls Graphics MeasureString.
We are currently using the 2012 V2 version of the Infragistics controls and we are wondering if you are aware of this MS API slowness and if there have been any changes done to the controls since 2012 that might have improved this?
We are trying to determine if we should upgrade to the latest version or not.
Thank you for posting on our forums.
Should the performance issue come from regression caused by MS, I am certain that this will be resolved on their end, or at least they should provide an alternative in order to compensate for this.
There have been a lot of changes in our components over the years, however I cannot confirm if these changes will affect your scenario in a positive way.
The best advise I can give is to download our latest version as trial to run tests and see if performance will improve. Either way, version 12 is long past its support lifetime, so in case MS provide resolution for this issue, the changes can be only implemented for our latest versions.
Should you have any further questions or concerns, please let me know
Sincerely,Tihomir TonevAssociate Software DeveloperInfragistics
Hi, thanks for the response. The problem we are having is that the MS fix is returning performance back to it's original levels. That's the reason for this inquiry - to see if you guys were aware of this issue and if maybe something has been done between the 2012 and current versions that might have helped improve performance. We understand that version 12 is way past support - we aren't expecting you guys to supply a fix for that version. We are trying to determine if we should renew support and upgrade or not.
Sorry, above I meant to say that the MS fix is NOT returning performance back to original levels.
From what I understand this issue has been introduced this February, meaning releases from past years would not be targeting it, as there was no problem so far.
As per my previous reply, the trial version of our latest product is free. As there has been many changes in the code over the years, it is possible that the newest version offer better performance, but that can only be verified by testing.
All changes between version are documented and can be found here. As there are some breaking changes between versions, I would suggest going trough the documented changes as well.
Having both points covered, you should have all the information needed in order to make a decision whether upgrade would suit your needs at this time.
We are seeing similar reports from some end users and we also assume an MS update was a factor. We are running 19.1 version and traced the slowdown to UltraGridColumn.PerformAutoResize. We are only resizing first 10 rows, but still takes several second per column. Going to try other approaches to calculating column size, but any other info would be helpful.