Current filter:
                                You should refresh the page.
                                  • Hi,
                                    I have five ASPxUploadControl on my web page with a lot of DevExpress controls like this:

                                    [ASPx]
                                    <dx:ASPxUploadControl ID="JustificationNoteUploadControl" ClientInstanceName="JustificationNoteUploadControl" runat="server" UploadMode="Advanced" Width="100%" NullText="Select file(s)..." ShowProgressPanel="true" ShowUploadButton="false" FileUploadMode="OnPageLoad" OnFilesUploadComplete="UploadControl_FilesUploadComplete"> <AdvancedModeSettings EnableMultiSelect="True" EnableFileList="false" EnableDragAndDrop="True" /> <ClientSideEvents TextChanged="function (s, e) { s.Upload(); }" FilesUploadComplete="onFilesUploadComplete" /> </dx:ASPxUploadControl>

                                    without these controls page loads in 2 seconds on IE, with them 7. Even when they are not used and no files are uploaded at all.
                                    Is there anything that can be done to improve performance?

                                • Paul V (DevExpress Support) 11.27.2019

                                  Hi,

                                  Would you please clarify whether this issue can be reproduced on every request to a page or while opening a page for the first time?
                                  I tried to reproduce the performance issue you are describing so I placed five upload controls with big ASPxRichEdit and ASPxSpreadsheet controls and recorded a video to demonstrate how components are loaded for the first time. I also checked that without these upload controls a page loads in almost the same time. I've attached a sample project. Would you please modify it according to your case? I look forward to your response.

                                • Alex Batura 11.27.2019

                                  Hi Paul,

                                  I created sample app. Please find it attached. I also captured a video to show the issue.
                                  It takes nearly 3 seconds. Without upload controls it's almost instant.
                                  In our real app we have more complex UI and it takes up to 7 seconds.

                                1 Solution

                                Creation Date Importance Sort by

                                Hi,

                                Thank you for providing this video and a sample project. I've run some tests with and without upload controls. There is a difference, but the main issue is not in UploadControl.
                                The "T836311_WithAndWithoutUC.mp4" video shows that a request to the server is fast so the main slowness is on the client side.

                                When ASPxPopupControl sends a callback to the server, it is reinitialized along with its child controls on the client side as well. Our components have a rich set of the client-side APIs. So, since you have lots of editors on a form, their client-side initialization takes most of time. See the "Profiling_WebResource.mp4" video showing that the slowness occurs after a callback is complete.

                                To improve the performance, you need to avoid reinitializing client instances of all these components so I suggest you call the GetValuesOnCustomCallback(args, onCallback) method instead of calling the "GetRowValues" method of your "pageDetailGrid" grid. It would raise the CustomDataCallback where you can pass all the required information on the client side.
                                Then, your "onCallback" function will be triggered and instead of sending a callback by your popup control, do everything that you do on the server side in the "PopulateDetails" method: set your editors' values on the client side via their SetText/SetValue methods.
                                This way, your performance should be significantly improved because you send only one light data request to the server and controls are not reinitialized on the client side.
                                Please try this approach and let me know if it helps.

                                • Alex Batura 11.28.2019

                                  Thank you Paul!

                                • Paul V (DevExpress Support) 11.28.2019

                                  Hello Alex,

                                  I'm happy to hear that this solution is helpful. Would you mind if I mark this ticket as Public? It may be helpful for other users who face similar issues.

                                • Alex Batura 11.29.2019

                                  Done

                                • Paul V (DevExpress Support) 11.29.2019

                                  Thank you, Alex!