This is a migrated thread and some comments may be shown as answers.

Tooltips, context menu are slow to trigger

6 Answers 81 Views
Scheduler
This is a migrated thread and some comments may be shown as answers.
Dennis Dunn
Top achievements
Rank 1
Dennis Dunn asked on 20 Sep 2011, 02:03 PM
I have a RadScheduler that is being populated by a DataProvider.  When there are only a few appointments being displayed, such as when in the DayView, the tooltips are displayed quickly when I pause the mouse over the appointment and the context menu displays quickly when I right-click the appointment.  By "quickly" I mean "no perceptible delay."

However, when there are many appointments displayed, such as when in MonthView, there is a three to five second delay from the time the mouse stops over the appointment to the time the tooltip is displayed.  There is a similar delay when trying to activate the context menu with a right-click.  In this case, "many" is about 30 appointments.

I've read the Telerik support documents regarding RadSheduler performance and have implemented their suggestions, for example my DataProvider only returns those appointments that are in the current view.  The rendering of the page is working as I think it should, the problem occurs on the client-side when the user tries to interact with the displayed calendar.  Thinking that maybe other javascript on the page is interferring with the RadScheduler,I have gone so far as to remove everything from the page except my RadScheduler and the problem still exists.

Thanks. Any clues on what I could try next are appreciated.
--dennis


PS Here is the markup for the RadScheduler.  The AppointmentManager javascript class handles specifics about our environment and the hidden context menu items are made visible in the codebehind based on security settings of the current user.

<telerik:RadScheduler ID="RadScheduler1" runat="server" StartInsertingInAdvancedForm="True" EnableViewState="false"
                   StartEditingInAdvancedForm="true" Localization-ConfirmDeleteTitle="Cancel appointment"
                   Localization-ConfirmDeleteText="Are you sure that you want to cancel this appointment?"
                   Localization-ConfirmCancel="No" Localization-ConfirmOK="Yes" Localization-ConfirmRecurrenceDeleteTitle="Cancel appointment"
                   Localization-ConfirmRecurrenceDeleteOccurrence="Cancel only this occurence."
                   Localization-ConfirmRecurrenceDeleteSeries="Cancel the series." ProviderName="AppointmentDataProvider"
                   SelectedView="WeekView" OnNavigationComplete="RadScheduler1_NavigationComplete"
                   OnAppointmentDataBound="RadScheduler1_AppointmentDataBound" OnFormCreating="RadScheduler1_FormCreating"
                   OnAppointmentUpdate="RadScheduler1_AppointmentUpdate" OnAppointmentContextMenuItemClicked="RadScheduler1_AppointmentContextMenuItemClicked"
                   OnTimeSlotContextMenuItemClicked="RadScheduler1_TimeslotContextMenuItemClicked"
                   OnAppointmentInsert="RadScheduler1_AppointmentInsert" OnDataBound="RadScheduler1_DataBound"
                   OnClientAppointmentInserting="AppointmentManager.validateTimeslot" OnClientAppointmentMoveEnd="AppointmentManager.validateTimeslot"
                   OnClientAppointmentContextMenuItemClicking="AppointmentManager.contextMenuHandler"
                   OnClientTimeSlotContextMenuItemClicking="AppointmentManager.contextMenuHandler"
                   OnClientFormCreated="AppointmentManager.onFormCreated" AllowDelete="false" AllowEdit="false"
                   AllowInsert="false" OnFormCreated="RadScheduler1_FormCreated">
                   <TimelineView UserSelectable="false" />
                   <TimeSlotContextMenus>
                       <telerik:RadSchedulerContextMenu ID="RadSchedulerContextMenu1" runat="server">
                           <Items>
                               <telerik:RadMenuItem Text="New Appointment" Value="CommandAddAppointment" Visible="false" />
                               <telerik:RadMenuItem Text="New Recurring Appointment" Value="CommandAddRecurringAppointment"
                                   Visible="false" />
                               <telerik:RadMenuItem Text="Go to today" Value="CommandGoToToday" />
                               <telerik:RadMenuItem Text="Show 24 hours..." Value="CommandShow24Hours" />
                               <telerik:RadMenuItem Text="Export all appointments" Value="CommandExport" />
                           </Items>
                       </telerik:RadSchedulerContextMenu>
                   </TimeSlotContextMenus>
                   <AppointmentContextMenus>
                       <telerik:RadSchedulerContextMenu ID="RadSchedulerContextMenu2" runat="server">
                           <Items>
                               <telerik:RadMenuItem Text="Edit" Value="CommandEdit" Visible="false" />
                               <telerik:RadMenuItem Text="Delete" Value="CommandDelete" Visible="false" />
                               <telerik:RadMenuItem Text="Export appointment" Value="CommandExport" />
                           </Items>
                       </telerik:RadSchedulerContextMenu>
                   </AppointmentContextMenus>
               </telerik:RadScheduler>

6 Answers, 1 is accepted

Sort by
0
Peter
Telerik team
answered on 21 Sep 2011, 01:16 PM
Hello Dennis,

Too many appointments will generate too much html and the browser might lag processing it. What browser do you use? Do you get the same results with Chrome and Firefox?

Regards, Peter
the Telerik team
If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to their blog feed now
0
Dennis Dunn
Top achievements
Rank 1
answered on 21 Sep 2011, 03:15 PM
Hi, I should have mentioned our environment.  The application is setup to require Internet Explorer so Firefox and Chrome are non-starters, I'm currently testing using IE 8. File properties for Telerik.Web.UI.dll show "Product Version: 2011.1.519.40"

Fiddler shows that the page is pretty hefty at 1.3MB.  This was from an AJAX call that is updating the panel containing the RadSheduler, it wasn't even the entire page.  The AJAX response contained 50 appointments.

I tried changing the user agent on Firefox but some client-side code was looking for window.event, I'll change that and see if I can't get it to work under FF.

Thanks.

--dennis
0
Peter
Telerik team
answered on 21 Sep 2011, 05:30 PM
Hello Dennis,

Thanks for the feedback. Yes, IE8 is a very slow browser compared to IE9, FF or Chrome. If you have to use IE browser, I strongly advise you to go with version 9.


All the best, Peter
the Telerik team
If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to their blog feed now
0
Dennis Dunn
Top achievements
Rank 1
answered on 22 Sep 2011, 01:32 PM
Hi Peter,

I installed IE9 on a virtual machine running Windows 7 and my problem page behaves much better, I don't get those long delays when hovering over an appointment.

Thanks for your help,
--dennis
0
Thomas
Top achievements
Rank 1
answered on 11 Nov 2011, 12:38 AM
Hi!

I'm using Firefox 7.0.1 and have the same problem, in IE 9.0.8 everything works smoth.
Any clue what I can do to speed up the context menus in FIrefox?
It's useless now :(

Regards, Thomas
0
Peter
Telerik team
answered on 15 Nov 2011, 01:17 PM
Hello Dennis,

Do you have a live url of the issue? I tested the online demo on context menus, but I wasn't able to notice a performance issue.


Kind regards, Peter
the Telerik team
If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to their blog feed now
Tags
Scheduler
Asked by
Dennis Dunn
Top achievements
Rank 1
Answers by
Peter
Telerik team
Dennis Dunn
Top achievements
Rank 1
Thomas
Top achievements
Rank 1
Share this question
or