ASP.NET Menu, NavBar And Pager Performance Improvements – v2010 vol 1

19 May 2010

v2010.1: ASP.NET Performance Improvements With Semantic Rendering - (fast car)

Check out the improvements we’ve made to some of our ASP.NET controls in the DXperience v2010.1 release.

We changed the rendering of our ASP.NET AJAX Menu, Navigation Pane and Pager controls. The controls now use semantic rendering combined with advanced CSS styles, which results in a dramatic decrease of HTML output, improved performance and a reduction in the server’s workload.

Also, several of our other ASP.NET controls like the ASPxGridView and ASPxScheduler also benefit because

The primary advantages of using Semantic HTML Rendering are:

  • Performance is increased because the amount of HTML output is reduced.
  • Accessibility is improved because screen readers understand semantic HTML.
  • SEO is improved because search engines prefer semantic HTML.

New Property

New RenderMode PropertyA new property, called RenderMode, has been added to support Semantic rendering. The property supports allows you to choose between:

  • Classic – by default. The control uses rendering based on tables.
  • Lightweight – The control uses the new rendering based on divs and lists HTML elements. Therefore, the control generates semantic and lightweight HTML code.

Performance

We ran some performance tests to compare the 2 rendering modes and here’s the improvement numbers:

ASP.NET Render Improvements in DXperience v2010.1 

Here’s the test notes: All tests were performed in Internet Explorer using the Aqua theme. The "Enable Resource Merging" feature was turned on and each control was tested in a separate page.

  • ASPxMenu - bound to an xml file that mirrors the structure of the devexpress.com main menu
  • ASPxNavBar – bound to an xml file that mirrors navigation pane of our ASPxperience demos
  • ASPxPager – using ItemCount="100"
    • Also, menus and pagers inside our "senior" controls by default use Lightweight render mode now. This automatically makes ASPxGridView and ASPxFilterControl thinner.
  • ASPxGridView - bound to the Northwind.Products table w/Settings.ShowFilterRow=true and Settings.ShowFilterRowMenu=true
  • ASPxFilterControl – used 2 columns
    <dx:FilterControlTextColumn PropertyName="CategoryID" ColumnType="Integer" />
    <dx:FilterControlTextColumn PropertyName="CategoryName" ColumnType="String" />
    and
    FilterExpression="[CategoryID] > 1 And [CategoryName] = 'Test'"

Now that you’ve seen the improved numbers, be sure to download DXperience v2010 volume 1 and try out the new RenderMode property in your ASP.NET projects. (A release candidate version of DXperience v2010 volume 1 is available now.)

Then drop me a line below with your thoughts. Thanks!

DXperience? What's That?

DXperience is the .NET developer's secret weapon. Get full access to a complete suite of professional components that let you instantly drop in new features, designer styles and fast performance for your applications. Try a fully-functional version of DXperience for free now: http://www.devexpress.com/Downloads/NET/

13 comment(s)
Leigh Bowers

Fantastic news - Good work! I'd like to see this lightweight render mode extended to the combo box control too, as it can produce a *lot* of table based markup.

19 May, 2010
Robert Beaubien

Hey Mehul,

I can't find that property on an ASPxGridView that I upgraded from 9.3.4 to 10.1.4.  What am I missing?

20 May, 2010
Adam Nerell

Is there any downsides to this method, or why did you keep classic and make it default?

20 May, 2010
Mike Fitzgerald

Great news and good work.

I have the same questions as Adam Nerell...

Is there any downside to using the new RenderMode property?  If not, why did you keep classic as the default?

20 May, 2010
Peter Thorpe

I would also like to know why the new rendering isn't the default is there some incompatibility to look out for?

20 May, 2010
Christopher Todd

Will there be a utility or a enhancement to the project converter that would allow large projects to be completely switched over to the Lightweight RenderMode?

20 May, 2010
Robert Beaubien

There still appears to be some work needed on the new rendering code.  ASPxMenu doesn't display correctly for first level menu items, dropdown comes out of top of page, and 3rd level menu items not even rendered at all.  I'll work up a bug report later this week.

20 May, 2010
Mehul Harry (DevExpress)

@Robert,

ASPxGridView.SettingsPager.RenderMode='Lightweight'

And thanks for reporting any possible bugs.

20 May, 2010
Mehul Harry (DevExpress)

Adam, Mike, Peter,

We kept the 'classic' rendering output because we didn't want to break current sites by automatically switching your web projects to a new render model w/o your knowledge.

This way you can see if there will be any issues with your current layout, CSS, etc.

20 May, 2010
Mehul Harry (DevExpress)

@Christopher,

There is no utility planned however, I recommend pinging @RoryBecker on twitter and he can probably help you create a slick CodeRush plugin that would do the job as well.

20 May, 2010
Leigh Bowers

Any chance these improvements will find their way into the ASPxComboBox control?

21 May, 2010
Felipe Machado

I was considering a competing product for one of my "Web 2.0" personal project due to the lack of semantic rendering on many navigation controls from DevExpress, and it was really making me very sad because I've been using DevExpress for over a decade now (not on my personal projects - I don't have a license on my name yet - but on every single company I worked on I was able to convince them to get DevExpress's suites). I always thought that everything a developer needed for Delphi/.NET was Delphi/Visual Studio plus VCL Subscription/DXperience and some creativity (after all, programming is an art form), so having to resort to another company was making me feel like a traitor! With the amazing and fast response from Devexpress in including semantic rendering (they're calling it Lightweight rendering) on this release I can safely keep treading on known and proven ground along with them (I just wished they had a policy for pricing to emerging economies like Brazil... don't get me wrong, for a US-based company I think their subscription packages are so affordable I can't believe any serious developer not investing money on them, but I digress...). Any developer who reads this post and doesn't grok how important this Lightweight/semantic rendering really is, should seriously consider attending a few web-development seminars or buy themselves some of the best books on web-development. Mehul (do you mind being addressed like this? We Brazilians like to call people we respect by their first name), congratulations to you, your team and Devexpress as a whole for keeping up to and exceeding our expectations.

21 May, 2010
Mehul Harry (DevExpress)

Felipe,

Thank you for the support! You rock!

15 July, 2010

Please login or register to post comments.