Tooltips, context menu are slow to trigger

7 posts, 0 answers
  1. Dennis Dunn
    Dennis Dunn avatar
    3 posts
    Member since:
    Dec 2009

    Posted 20 Sep 2011 Link to this post

    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>
  2. Peter
    Admin
    Peter avatar
    6637 posts

    Posted 21 Sep 2011 Link to this post

    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
  3. Dennis Dunn
    Dennis Dunn avatar
    3 posts
    Member since:
    Dec 2009

    Posted 21 Sep 2011 Link to this post

    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
  4. Peter
    Admin
    Peter avatar
    6637 posts

    Posted 21 Sep 2011 Link to this post

    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
  5. Dennis Dunn
    Dennis Dunn avatar
    3 posts
    Member since:
    Dec 2009

    Posted 22 Sep 2011 Link to this post

    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
  6. Thomas
    Thomas avatar
    22 posts
    Member since:
    Mar 2011

    Posted 10 Nov 2011 Link to this post

    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
  7. Peter
    Admin
    Peter avatar
    6637 posts

    Posted 15 Nov 2011 Link to this post

    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
Back to Top