Telerik blogs
  • Web ASP.NET AJAX

    RadTreeView for ASP.NET Ajax - Optimizing Load On Demand performance

    In a previous blog post I mentioned that you should use WebService load on demand in order to squeeze the most performance from RadTreeView. In this post I will show a few other tricks which can be used to improve the loading time even further. All techniques are optional and can be used independently. We start with a simple page containing only a single RadTreeView control with one root node. The testing environment is: Visual Studio 2008 SP1 Intel Core 2 Duo E6550 @ 2.33GHz. IIS7 web site Internet Explorer 7 Latest internal build of Telerik.Web.UI.dll (which will go live with the Q3 2008 release) Here...
    May 27, 2021 3 min read
  • Productivity

    Image caching in PDF

    Over the past few days I worked on an image caching mechanism in the PDF Rendering Extension and I am happy to announce that the achieved output size reduction was more than significant. The Problem When a report contains the same binary image many times, the PDF Rendering Extension has no way of knowing that it is actually one and the same and renders it many times thus wasting disc space. For an illustration of this case imagine that you have your company's logo in the page header and your report is 200 pages long. The Solution: Enter Cyclic Redundancy Check I've implemented a central...
    May 27, 2021 3 min read
  • Web

    Internet Explorer JavaScript Performance Tip - use the "children" property

    Today I was profiling the initialization time of RadTreeView for ASP.NET Ajax and found out that the biggest bottleneck was traversing the DOM tree. The code looks something like this: //get_childListElement() returns an HTML element  var childNodes = parent.get_childListElement().childNodes;  for (var i = 0, length = childNodes.length; i < length; i++)  {       var childNode = childNodes[i];         //Perform additional initialization  }  I tested with 10000 elements and in IE7 I got about 25000ms whilst in FireFox the total time was around 33ms (Core 2 Duo @ 2.33GHz). Quite a difference if you ask me. I thought that there may be some IE specific method/property which could perform better and I dug into MSDN. And a few minutes later I found the children property!!! Apparently the children collection contains only HTML elements (whilst childNodes is full of...
    May 27, 2021 2 min read
  • Web ASP.NET AJAX

    RadTreeView for ASP.NET Ajax Load On Demand Modes - why so many?

    In my previous blog post I told you how the Web Service load on demand mode of RadTreeView delivers the best performance. A logical question arises - why we have the other load on demand modes (server side postback and callback) if they do not perform on par with the Web Service mode. The answer is not that obvious. The truth is every load on demand mode has its pros and cons. The following table describes visually the load on demand modes according to three criterions - performance, templates support, ease of...
    May 27, 2021 3 min read
  • Web ASP.NET AJAX

    Performance Tip: Use Web Service Load On Demand with RadTreeView

    A common scenario for a treeview control is to populate it with lots of nodes. Adding a few thousand nodes initially is not a good idea though. Think of all the rendered HTML. Even rendering a few thousand strings (without any extra markup) will result in a few megabytes of HTML. That's where load on demand comes into play. RadTreeView supports three different types of load on demand: web service, server side callback and server side postback. From those the server-side postback mode is least efficient in terms of performance because it postbacks and updates the whole page. Here is how...
    May 27, 2021 3 min read