Need experience from users developing real applications that perform

4 posts, 0 answers
  1. Ian
    Ian avatar
    13 posts
    Member since:
    Feb 2012

    Posted 26 Jul 2012 Link to this post

    Hi, I am having problems with getting page sizes reasonable and I would love some input from experienced developers.

    Just as an example, I converted an old asp page which displayed data pulled from a database in a small table. The table, plus a static menu, came to 32,455 bytes.

    Now I have converted the identical data, but using RadMenu and RadDatagrid. The pages look and function nearly identically (Ok, the rad page looks better) but the size is now 435,873 bytes. That's more than a 10 fold increase in size to make things look prettier. Am I missing something here? Many of my clients are in third world countries and don't have hi speed internet connections. I really need to keep my pages below 200,000 bytes.

    Some of the more complex pages using Rad controls are approaching 1 MB, and I don't have pictures on them.

    Is there a way of reducing the page size?

    I can't seem to find a way to cache the radMenu, which appears on every page (it is in the MasterPage). Because the MasterPage is merged with the other content each time then it is not cached on the client side, so it takes seconds to load each time.

    Has anyone found a way to cache the navigation menus (RadMenu)? I guess if I used frames (god forbid going back to ancient history) then I could cache the RadMenu.

    I would really appreciate some tips and thoughts from those developing real applications that need to perform.

    Do people think that a 500,000 bytes + size page is fine? Am I too old school?

    Cheers

    Ian.
  2. David
    David avatar
    2 posts
    Member since:
    Jul 2012

    Posted 27 Jul 2012 Link to this post

    I don't think you are too old school.  You are trying to build an application that performs well for your customers and part of that process is choosing a platform that aligns with your goals.

    In my opinion, you are fighting an uphill battle in trying to control page size with ASP.NET AJAX and web forms.  There are a number of complicating factors including view state, control state (which is a part of view state), ID naming conventions, script libraries, HTML bloat, etc.  You can apply some techniques to reduce the size of view state and also use compression but I don't know that you will get to the page size you desire.  A lot of the rich functionality in the Telerik control suite also requires view state to run properly.  

    Telerik MVC or Kendo UI for MVC (or Kendo UI) might be a better approach for your type of application.  It gives you full control (for the most part) over your page footprint/HTML output and takes advantage of data only transfer to and from the server using JSON which can also speed up your application significantly.  It is a completely different paradigm than web forms but maybe a better approach considering your needs to support lower bandwidth connections.

    If a platform change is out the question than I would look at running Telerik controls in their "bare-bones" modes.  There are a number of topics under the knowledge center that provide info in how to scale the controls back.
  3. Genady Sergeev
    Admin
    Genady Sergeev avatar
    1600 posts

    Posted 31 Jul 2012 Link to this post

    Hi guys,

    David, thank you for the nice explanation. Indeed, if the page-size is a huge factor it might be better idea to switch to ASP.NET MVC since it provides more control over what is going on the page.

    Ian, I just want to point a few things you can optimize in order to fasten your app:

    1) First of all, when testing disable debug mode in the web.config. The reason the menu is not cached is not because of the master page but because most likely you are testing in debug mode. I suggest that you take a look at that setting.
    2) If the scripts are still not cached you could consider using our CDN provider, which provides very good caching support.
    3) Disable the ViewState on the page and always bind the controls in the Page_Init event (this is before TrackViewState occurs)
    4) Utilize compression.

    I hope that this information helps.

    Greetings,
    Genady Sergeev
    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.
  4. Ian
    Ian avatar
    13 posts
    Member since:
    Feb 2012

    Posted 31 Jul 2012 Link to this post

    Hi guys, thanks for the comments!  Much appreciated.  Ian.
Back to Top