Load on demand 1000nodes

9 posts, 0 answers
  1. Brian
    Brian avatar
    13 posts
    Member since:
    Jul 2008

    Posted 29 Aug 2008 Link to this post

    I've just updated to 2008 Q2 release in a vein attempt to try to overcome an issue I have where i'm loading on demand 1000nodes.

    In IE7 this seemed incredibly slow, and comes up with "Stop running this script?" dialog boxes a couple of times .. continuing to say NO, the nodes are shown on the tree.

    Firefox manages this feat alot quicker (takes about 5-8seconds in total) and does not display 'Stop running this script?" dialogs.

    IE7 even pressing NO immediately seems to be taking over 30seconds to do the same thing.   As I say i've just updated to Q2 ... with 2008 Q1 it was taking several minutes!!!


    Apart from hacking the registery to increase the timeout period for the "Stop running this script?" dialog (as described here: http://support.microsoft.com/kb/175500) is there anything we can do to stop this dialog box and make the loading of 1000nodes quicker.

    I've put a stopwatch around my NodeExpand() method, and whilst there are possibly some efficiencies I can make server-side the server-side method exits in under 1.5seconds after loading 1000nodes;    so the rest of the time is purely Client-side Javascript rendering the ajax results into the tree (I guess).

    Help!!!!
  2. Atanas Korchev
    Admin
    Atanas Korchev avatar
    8462 posts

    Posted 29 Aug 2008 Link to this post

    Hi Brian,

    Please check if your site is deployed in release mode (<compilation debug="false"> in the web.config).

    At the time being we are working to improve the performance of RadTreeView load on demand. Those performance improvements will go live in the upcoming Q3 2008 release.

    Regards,
    Albert
    the Telerik team

    Check out Telerik Trainer, the state of the art learning tool for Telerik products.
  3. Brian
    Brian avatar
    13 posts
    Member since:
    Jul 2008

    Posted 29 Aug 2008 Link to this post

    No I wasn't running with <compilation debug="false">  .. i'm a developer - so I tend to run with debugging on.

    I've retried my sample page with <compilation debug="false"> and yes for 1000 nodes it seems slicker (takes about 8seconds in total to render them) and doesn't prompt to "Stop running this script?".

    However, if I increase the number of nodes to 10,000 - then it seems to take for ever and repeatidly prompts to "Stop running this script?".

    Running it again under FireFox -- 1,000 nodes are loaded swiftly in about 3seconds!!

    Unfortunately the 'upcoming Q3 release' (if I understand correctly will be available in November?) .. is too late for our project,  and we really need a workable solution to handling LoadOnDemand with large quantities of nodes - unfortunately our target audience's browser of choice will be IE.

    Is there any way that we could beta test these changes?
  4. Atanas Korchev
    Admin
    Atanas Korchev avatar
    8462 posts

    Posted 29 Aug 2008 Link to this post

    Hi Brian,

    So far we don't have any internal builds suitable for beta testing. However do you really need to load 10000 nodes at once? I don't think there is any component in the market capable of doing so in a reasonable amount of time. Loading 1000 nodes at a time seems like more real case and we are optimizing the speed of loading 1000 nodes. Also how many seconds is the acceptable loading time of 1000 nodes according to you? Currently we have achieved about 2 seconds in IE7 (compilation debug="true").

    By the way if you don't want the nodes to participate in any server-side operations (drag and drop or click events) you can try setting the PersistLoadOnDemandNodes property to false which should improve performance.

    Regards,
    Albert
    the Telerik team

    Check out Telerik Trainer, the state of the art learning tool for Telerik products.
  5. Brian
    Brian avatar
    13 posts
    Member since:
    Jul 2008

    Posted 29 Aug 2008 Link to this post

    PersistLoadOnDemandNodes set to false is definately plausible for our solution - as we don't subscribe to any server-side eventing for nodes; we just handle client-side node clicking ;-)

    How fast is fast enough .. lol .. well things are never 'fast enough' - but through a combination of sheer horse-power and careful optimisation thats about as much as we can all do :-)

    I'm not sure if 10,000 nodes is beyond reasonable limits for our application - but so long as it can handle it without falling over, then I think it's reasonable to expect expanding 10,000 nodes to take a while.

    Thanks for your help.

  6. Mike
    Mike avatar
    4 posts
    Member since:
    Mar 2008

    Posted 31 Oct 2008 Link to this post

    We are also running into the same issue with IE7 and having tree nodes with 5000 children is very plausible (although we do not recommend our clients create trees with this many nodes).

    We get the data for all of the nodes back to the client quickly via web service calls (which we love). I just wanted to throw it out there that a progressive load of these nodes would be acceptable, for our team, in order to show a very large number of nodes (render 500 nodes, pause , then render another 500 until all 5000 nodes are displayed) if it will get rid of the IE7 "Stop running script" error.

    Another solution we would be open to (although not preferred) is to allow multiple web service calls to be made to get the entire set of nodes, essentially chunking the results to the client.

    We are running Q3 2008 beta build 1016.

  7. T. Tsonev
    Admin
    T. Tsonev avatar
    2831 posts

    Posted 01 Nov 2008 Link to this post

    Hi Mike,

    We will definitely look into breaking the web service call into multiple requests. This should allow us to get around the script timeout issues in IE. We will, of course, make it optional, as not to break existing code.

    A more sophisticated progress indicator is also worth researching, as it has the potential to improve the user experience.

    Thank you for sharing your ideas with us. Your Telerik points have been updated for your involvement.

    Greetings,
    Tsvetomir Tsonev
    the Telerik team

    Check out Telerik Trainer, the state of the art learning tool for Telerik products.
  8. Rizwan
    Rizwan avatar
    30 posts
    Member since:
    Mar 2009

    Posted 12 Jul 2011 Link to this post

    Hi
       I am having same problem and I am using version 2010.2.826.35

    issues are
    1. Script response on client end
    2. if I load 3500 Nodes, they load fine other then script unresponsive error. After it completes If I expand another with 2 child nodes only, I apply a breakpoint on the first line of expand event and on expanding node on client side the ajax image started rotating but exactly after 60 seconds I got to break point.


    Any thoughts ?
    Best Regards
    Rizwan Bashir
  9. Nikolay Tsenkov
    Admin
    Nikolay Tsenkov avatar
    734 posts

    Posted 15 Jul 2011 Link to this post

    Hi Rizwan,

    We have made multiple performance improvements since the version you specify.
    Please, get upgrade to the current latest and try using the WebService Load on Demand mode with optimized node data as on this demo: http://demos.telerik.com/aspnet-ajax/treeview/examples/programming/performance/defaultcs.aspx


    Regards,
    Nikolay Tsenkov
    the Telerik team

    Register for the Q2 2011 What's New Webinar Week. Mark your calendar for the week starting July 18th and book your seat for a walk through of all the exciting stuff we will ship with the new release!

Back to Top