Hi we upgraded infragistics from 13.1 to 15.2, our client found out performance degraded when scrolling UltraGird with 1000+ rows. The more data shown in a row, the slower it is when dragging scroll bar down the page.
one of the column style is FormattedTextEditor.
We'd like to know if there is any change from 13.1 to 15.2 that affected the performance on scrolling UltraGrid.
Thanks,
Crystal,
Hello Crystal,
I followed the steps you described and I was unable to reproduce the issue with the grid’s slow scrolling. I have made two identical samples: one using 13.1, and the other – 15.2 version of NetAdvantage. In the samples, the grid has 1000 rows and FormattedTextEditor is embedded into the last column.
As I do not see any difference between the samples performance when scrolling the grid data, please feel free to modify the attached sample and send it back, or send a small sample project of your own that reproduces the issue you are describing.
Thank you for looking into this issue, please find enclosed sample projects for 15.2 and 13.1. We are able to see the difference between the two versions. In our application, it's worse.
Crystal.
Hello Crystal, I ran the two samples you provided on my machine and I do not see any difference in performance when scrolling down the grid. Attached is a record of the test I did.
The fact that I was unable to reproduce the behavior you are describing indicates either an issue possibly specific to your environment, or a difference in the DLL versions we are using. So could you please let me know the exact version of Infragistics components, which you are using?
Hi Miteva, can you try to drag the scroll bar fast from top to the middle then back and forth a few times? We can see there are differences between the two versions. 13.1 one is more responsive. Can you check the code to see if there is any changes in the area?
15.2 version is 15.2.20152.2052, runtime version v4.0.30319
13.1 version is 13.1.20131.2060, runtime version v4.0.30319
I tested on Windows 10.
Thanks,Crystal.
I made a simple test of both samples you provided using the versions, you are using (13.1.20131.2060 and 15.2.20152.2052). The test measures the time for scrolling the grid from the top to the middle and then scrolling back to the top and down again. Attached is a video file of the performed test.
As you will see from the attached file, I still cannot reproduce the issue you describe, so it will help if you could record a video that demonstrates the behavior you are seeing.
Please find enclosed recording that shows the performance difference.
I do not see any performance difference between the two samples when scrolling down the grid. There have not been made any changes regarding the scrolling in the grid between 13.1 and 15.2 versions that should cause performance issue. In order to make more visible the row change when scrolling I have changed the images in the sample projects so that every row will have a different picture embedded in it. Attached is also a video record of the test with the new samples.
Hi Lindos,
So... I did a little bit of testing, but I don't think I was able to find the problem. I did find A problem in 15.2 where there is a scrolling performance issue. But in that case the images also don't display. And you didn't mention anything about your images not even showing up, so I suspect the thing I found was something else. Also, the problem I found happens with the latest build, and yours doesn't.
Anyway, at this point there's not much else I can think to do without a sample from you that reproduces the issue you are having. I have attached my sample here, just in case you want to use it as a jumping-off point.
Also, I thought of one other thing. I lot of times, performance issues are caused by Exception that are being caught and handled, so you don't see the Exception message. You might want to try setting Visual Studio to break on all run-time exceptions and see if any are occurring when you scroll the grid. It probably won't help much, but it might give us some clue.
WindowsFormsApp23.zip
The value of the field in the DataRow is being set when we update the UltraDataSource for the grid. This happens as we navigate from one business object to the next (the grid data is refreshed for each business object by first clearing the rows collection in the UltraDataSource). The code spins through a collection (the row data) in the business object and calls the UltraDataSource objects Rows.Add() method for each new row. Each new DataRow's column values are then updated. After all the data has been loaded we don't update it any further. From this point on (until the next business object is loaded) the data remains static.
In what event are you setting the value of the field in the DataRow. I assume that's done before you bind to the grid. Or are you dynamically building or changing the data as you scroll, like in the InitializeRow event of the grid or something?
Okay, that makes sense. Not sure why I was confused - it seems perfectly obvious from the code, now.
Hi Mike,
Clarifying what ImageX is.
In the Visual Studio project, a Resource file (Resources.resx) is added to the project under the Properties folder. Opening up the Resource file in Visual Studio you can select the Images section from the dropdown. The Images are added to this section by drag and drop from Windows Explorer where the image filename becomes the key in the Resource file. The Resource file has a build action of Embedded Resource.
The embedded images are referenced from the Resource file in code using the following:
var image = Properties.Resources.ImageX;
Where ImageX is the name of the image in the resource file.
We did discuss keeping the images as is, embedded in a resource file, and writing them to disk at the time they were needed. This option was ultimately rejected due to business needs and the decision to deploy the images up front in a folder was made.
If I can reproduce the issue in a sample project I will definitely send it your way.
Thanks for your help.
Lindos.