iSeller Commerce
iSeller POS Retail
iSeller POS F&B
iSeller POS Express
Crosslight
WebUI
ClientUI
What's New
Download Trial
Web Solution
Mobile Solution
Enterprise Solution
Custom Development
Blog
Community
Latest Development Blogs
ForumPostTopic
Browse By Tag
I am currently experiencing performance problems when grouping the rows in a WebGrid.
The attached example contains a page with a WebGrid containing 400 rows. With no grouping, the grid renders and displays the 400 rows nearly instantly. However, adding 4 grouping columns (required by our application) causes the grid to take much longer to render ( approx. 11 seconds). Adding the group totals (also required by our application) further increases the render time (approx. 30 seconds).
You can reproduce my results by changing the "ADD_GROUPS" and "SHOW_GROUP_TOTALS" variables in the example page code. Also try refreshing the page multiple times to see that the rendering performance is poor on all postbacks as well.
Can you please provide one of the following:
Thanks!
Hello,
Unfortunately, there is nothing we can do anymore. If there is, we will do it for you. This make imposible for us because the limitation comes to the browser itself. Unless IE9 fix their rendering, there is nothing we can do. Once again, I hope you understand what we were trying to say. It is not that we refused your request. But we have tried to see the possiblities.
Regards,Handy
Thank you for the sent sample which replicates the performance problem of WebGrid.
I started to investigate the problem by measuring the elapsed time, start from requesting the page until finish the rendering process (using IE9’s Developer Tools). With no grouping, the grid renders and displays 400 rows in 9.87 seconds. Adding 4 group columns and group totals takes about 24.77 seconds.
In order to improve the performance, I made a test by enabling the classic paging feature and set to displays 100 rows on each page. With no grouping (and classic paging enabled), the grid renders and displays 400 rows in 2.86 seconds. Adding 4 group columns and group totals takes about 7.51 seconds.
Try to enable paging feature of WebGrid and have the rendering process improved for about 70%. Please feel free to let us know whether it helps or not.
Yudi -- thank you for the quick reply! I have confirmed that adding classic paging greatly increases the performance of the sample I sent you.
However, I also used the sample to confirm that classic paging can cause the group totals to report incorrectly (when a single group spans multiple pages). Our product requires that the group totals be both visible and correct at all times. So, I will not be able to use classic paging as a solution to the performance issue.
Is there any chance you can investigate the javascript WebGrid uses to improve the performance of WebGrid grouping? This is of critical importance to our customers.
Thanks.
I found that set the GroupMode to Collapsed slash the initial rendering up to 35% (ADD_GROUPS and SHOW_GROUP_TOTALS are enabled). Adding 4 group columns and group totals takes about 24.77 seconds. After set the GroupMode to Collapsed, the initial rendering process takes about 15.62 seconds. Please try to enable this setting and let us know whether it helps or not.
If the classic paging doesn’t cause the group total to report incorrectly, is possible to use the classic paging feature as the solution of the reported performance issue?
I have confirmed that setting the GroupMode to Collapsed does improve the initial rendering time. However, in both the sample project and our application, I measured the improvement at approximately 10%. Due to the small increase in performance, and the less attractive user experience for our application, I will not be able to use this as a solution.
If classic paging were to report correct group totals at all times that would give me a temporary work around for the performance issues. Unfortunately, the user experience is not as nice -- it is much nicer to have all of the data visible at all times.
I am looking for an improvement to the performance without sacrificing the user experience. Can you please investigate why the grouping adds so much rendering time? With only 400 rows, a rendering time of 30 seconds is not acceptable.
I’m currently still investigating this issue and need more time to provide you with solution, suggestion, or sample.
I’ll get back to you as soon as possible.
Yudi,
Thank you for continuing to investigate this issue. Can you please update me on the status of your investigation? Have you made any progress? Do you have an estimate for when we might see a resolution?
This issue is becoming very urgent for our company, so any update you can provide would be greatly appreciated!
Sorry for the delay in sending this.
I opened the sent sample (with ADD_GROUPS and SHOW_GROUP_TOTALS enabled) in five different browsers: IE 9; Mozilla Firefox 19.0.2; Safari 5.1.7; Chrome 26.0.1410.43 m; and Opera 12.14. From this experiment, I found that Safari, Chrome, and Opera browser render the page faster – compared to IE 9 and Firefox.
The test was taken on the same terminal, so I believe that the browser’s engine has an important role in determining how long it takes to render the page. In my opinion, if the slow performance was caused from the WebGrid control, then I should have the same result over various web-browsers.
Please let us hear if you have other thoughts.
I have run the sample project in the browsers you suggested and got the same results -- IE 9 and Firefox are slower than the others. I agree with your suggestion that the browser's javascript engine plays an important role in the rendering time of the page.
However, I disagree with your conclusion that it is not a problem with the WebGrid control. Your documentation states that WebGrid supports Internet Explorer 9, yet it performs quite poorly in the example I have provided. Can you please investigate the performance of WebGrid in IE?
Most of our customers use Internet Explorer 9 for our application -- I need an improvement to the performance in IE as soon as possible!
Thank you very much for the valuable feedback.
I will have this forwarded to WebGrid development team to be discussed further. Should I hear any news regarding this matter, I will let you know.
Thank you for passing this along. As I mentioned in some of my earlier replies, this issue is quite urgent for me. I will need to keep checking in on the status of this issue until it is resolved. Can you please give me an estimate for when we will see some resolution to this issue?
The performance glitch has been submitted as feature request to WebGrid development team under Product Backlog Item 1396. I’ll keep you updated with any news I heard from the team regarding the progress of Product Backlog Item 1396.
Hi Yudi,
It has been two weeks since I heard from you last regarding this issue. I still require a solution, and the issue is still as urgent as ever. Can you please check in with the development team and provide an estimate (calendar date) on when I will see a solution?
WebGrid development team does their best to optimize the rendering performance on IE 9 browser. We expect that there is a significant improvement after the touch up.
However, there is nothing that we can tweak further if it deals with the browser’s engine.
I'm a little confused by your response -- when you say that "there is significant improvement after the touch up", does this mean you have a patch/hotfix that I can apply? If so, how do I get it?
There is no patch/hotfix yet for the performance problem in IE 9. When ready, I can provide you with the pre-release hotfix to be evaluated on your end.
Thank you and have a nice day.
I'm just following up to see if the hotfix is available yet? If so, please let me know how to get it.
If not, please provide an estimate (calendar date) of when it will be ready. I need an estimate so that I can plan changes to my product based on when the hotfix is available. This issue is very important to me and my clients!
I'm just checking in again to see if the hotfix that you mentioned is available yet? If not, can you please let me know when to expect it (ie: calendar date)?
Apologize for the delay in sending this. We had internal network problem in the last couple of days.
I have sent you a message to your registered email account. The message contains a link to download the pre-release assembly of WebGrid. Please kindly check your inbox and let us hear your response.
Thank you for responding. I have replaced the DLLs in my sample project with the ones you sent in the pre-release, and have rerun all of my tests. I found that the new DLLs have 0% improvement over the old ones. Running both samples side-by-side gives the same results.
Can you please try the sample I provided earlier with the new version of the DLLs and confirm my results?
I have tested the sent nightly-build hotfix of WebGrid on the provided sample and found that the elapsed time almost identical with the previous test. I also perform a test on IE 10 browser using the same sample project and WebGrid’s assembly. Although the rendering time is not as good as Chrome, Safari, or Opera browser, the IE 10 browser can render the sample page better than IE 9.
Our WebGrid development team has tweaked the JS code in order to optimize the rendering process on client. However it is obvious that the browser engine which cause the reported problem.
There are some options to improve the rendering process as follow.
Please let us hear your response.
As we have already discussed, I am unable to use any of the solutions you have provided:
I am still using WebGrid in a recommended way, in a supported browser, with a small amount of data. I desperately need it to perform better under this simple configuration. Can your development team please provide another hotfix to improve the rendering?
or
Choose this if you're already a member of Intersoft Community Forum. You can link your OpenID account to your existing Intersoft Social ID.
Choose this if you don't have an Intersoft account yet. Your authenticated OpenID will be automatically linked to your new Intersoft account.
Enter your Wordpress Blogname