Slow load for RadSpreadsheetRibbonBar

1 Answer 111 Views
Spreadsheet
Ian
Top achievements
Rank 2
Bronze
Iron
Iron
Ian asked on 18 Jan 2023, 09:25 AM

Does anyone else see a very slow load time for the RadSpreadsheetRibbonBar?

My main spreadsheet control loads really quickly (<0.5 sec) but the first time the RadSpreadsheetRibbonBar is loaded, it takes a further 4-5 sec, which is a poor user experience.

It's so bad that, by default, I load the spreadsheet without the ribbon bar, and only load it on user request, and still have to pop-up a little 'processing' dialog so the user knows something is happening.

Does anyonje else see this?

(Winforms, Win 10, i7 processor, loads of memory)

1 Answer, 1 is accepted

Sort by
0
Dess | Tech Support Engineer, Principal
Telerik team
answered on 18 Jan 2023, 11:37 AM

Hi, Ian,

We already have a similar item for improving the performance in RadSpreadsheetRibbonBar. You can track its progress, subscribe for status changes and add your comments on the following link - https://feedback.telerik.com/winforms/1494123-radspreadsheetribbonbar-improve-performance-load-time 

Please make sure that you cast your vote for the item in order to increase its priority. Click the Follow button of the feedback item in order to get notified if any status changes occur.

Please excuse us for the inconvenience caused.

Regards,
Dess | Tech Support Engineer, Principal
Progress Telerik

Love the Telerik and Kendo UI products and believe more people should try them? Invite a fellow developer to become a Progress customer and each of you can get a $50 Amazon gift voucher.

Ian
Top achievements
Rank 2
Bronze
Iron
Iron
commented on 22 Sep 2023, 12:58 PM | edited

As of 2023.2.718 this is still very slow.

With the help of my new best friend Chat GPT4, I think I have figured out how to pop-up a 'loading' dialog whilst the ribbon bar is loading.

Please note that this code works in my environment, but you should use it carefully, as with all multi-threading solutions.

This is part of a method to open a sheet on a Workbook - workbook instance (wb) has already been created using XlsxFormatProvider.

  'show a form to say 'loading...'
            Dim loadingForm = New FrmLoadingExcel
            loadingForm.Show()

            Dim d As FrmPopoutSheet = Nothing 'to keep the IDE happy
            Dim formInitializedEvent As New ManualResetEvent(False)

'I think this is used to communicate between the two threads

            'open AND populate the sheet in a separate thread
            Dim formConstructionThread = New Thread(
                                        Sub()
                                            d = New FrmPopoutSheet(wb) 

' I tried for a long time to create the form, then then populate it from the main thread, but Windows did

'not like this. So I made the popuation of the spreadsheet part of the constructor.

                                            formInitializedEvent.Set()
                                            Application.Run(d)
                                            d.BringToFront()
                                        End Sub)

            formConstructionThread.SetApartmentState(ApartmentState.STA)
            formConstructionThread.Start()

            formInitializedEvent.WaitOne() 'this seems to be where the main thread waits for the other one to complete
            ' Close the loading form
            loadingForm.Close()

If you have any questions about this approach, please contact ChatGPT!

 

Dess | Tech Support Engineer, Principal
Telerik team
commented on 27 Sep 2023, 07:47 AM

Hi, Ian,

I understand the importance of this item for the application you have. That is why I escalated the item to our developers and it will be discussed to be included in the future planning. Have in mind that the more votes an item gathers, the higher its priority becomes since we always strive to address the items according to the highest customers' demand. 

Currently, the possible solution that I can suggest is to use the splash screen options that the Telerik UI for WinForms suite offers:

https://docs.telerik.com/devtools/winforms/controls/splashscreens/splashscreen/overview 

This is suitable for proper indication of long-lasting operations.

Ian
Top achievements
Rank 2
Bronze
Iron
Iron
commented on 27 Sep 2023, 08:36 AM

If I understand correctly, a Splash Screen would just replace my 'FrmLoadingExcel' form. I would not really help with loading the RadSpreadsheet in a separat thread.
Dess | Tech Support Engineer, Principal
Telerik team
commented on 27 Sep 2023, 01:14 PM

Yes, you are right, the splash screen is just a UI indication for a long lasting operation. It is not expected to affect the loading time in any way.
Tags
Spreadsheet
Asked by
Ian
Top achievements
Rank 2
Bronze
Iron
Iron
Answers by
Dess | Tech Support Engineer, Principal
Telerik team
Share this question
or