KB Article KA18788
Visible to All Users

Visual Studio 2017, 2015, 2013, 2012, 2010 performance is very slow when a page with ASP.NET controls is opened in Designer

Description:
If you create a page with a lot of components, Visual Studio performance is extremely slow if the Designer is enabled. DevExpress components in Classic render mode render HTML 'table' tags. Visual Studio utilizes an IE-based internal browser for rendering the design view, but IE renders tables rather slowly. If any control's property is changed, the layout is rendered again, which results in poor performance.
Please note that there is another issue that looks very similar to this one:
Saving an ASP.NET page at design time is very slow in Visual Studio 2012 (2010)
However, the sources of these issues are absolutely different. Sometimes they can appear together when you are editing a page and you can think that this the same issue. It is important to clearly understand what issue you have encountered, because there are different solutions/workarounds to them.
If you see the following behavior:
- Visual Studio hangs for a while only when you are changing page or control settings in Design or Split view (even if you are using the Properties window to change the settings);
- but all operates fast if you are editing Page/UserControl markup and no Design or Split view is shown;
This means that you encountered the issue described in this article. Please refer to the Solution section and try the suggested approach.
If Visual Studio hangs only when you are saving a file (please note that Visual Studio automatically saves all changed files when you compile a project) and this occurs always no matter whether you open a page either in Design or Split view, or directly editing page markup, this means that you faced another issue, described in the Saving an ASP.NET page at design time is very slow in Visual Studio 2012 (2010) article.

Answer:
We fixed this issue in versions 17.2.10, 18.1.5 and higher. See Visual Studio 2017 performance is slow if a complex page with numerous editors is saved on the Source view for details. The hotfixes will be available this week. Please let me know how the fix works in your applications.

For previous verions, use the following workarounds:

To solve this issue separate a page layout into several UserControls. For example, if you have ASPxPageControl, ASPxPopupControl, ASPxLayoutControl, ASPxPanel, etc., that contains a dozen of editors or several ASPxGridViews, it is necessary to create a UserControl, move the contained elements there, and put the UserControl on the page. Visual Studio does not re-render UserControls every time a parent page is modified. If you need to change controls encapsulated in the UserControl, open it and modify. Changes will be automatically displayed on the parent page.
There are several other advantages of this solution.
- The page ASP.NET markup becomes less. This will be very helpful in the future after a couple of months if you need to analyze a current page structure and change it according to new requirements (just personal experience).
- Sometimes several pages have the same layout (in part). For example, Sign-in and Account pages contain such editors like First/Middle/Last Names, Email, Password, etc. The described approach allows you to use the same UserControl (with the corresponding internal logic) on different pages. This makes your application a bit more flexible.
Please refer to the Slow Design time to code switching in Visual Studio 2010 (with SP1) ticket that contains samples of problematic and updated projects.
See Also:
Saving an ASP.NET page at design time is very slow in Visual Studio 2012 (2010)

The following solution was found by one of our customers.
When I start VS2012 with administrator rights, then everything works without any problems.
The following two links have helped me:
http://social.msdn.microsoft.com/Forums/windowsapps/en-US/be50be61-39eb-49ba-aaf5-b18ded17c107/vs-2012-switching-to-design-mode-is-very-very-very-slow
http://blogs.msdn.com/b/abhiann/archive/2013/02/14/always-run-visual-studio-2012-as-administrator-in-windows-8.aspx

Paul Usher provided this workaround in the ASP page saving / upadting is very slow with DevExpress controls ticket.
One workaround for this problem that does not require the additional work of user controls is to edit the code only, NOT using the split (source|design) screen. You don't need the designer window open in Visual Studio at all. To see changes you are making in the markup almost instantly, simply run up a copy of the web application, when the browser has your pages displayed, stop the application from running. This still leaves the instance if IIS Express running still serving up the web page. When you make changes to the markup, CTRL+S (or file, save) is instant, and then a refresh on the browser page renders the new page layout almost instantly (depending on your data bindings).
Other things to note, in my tests I am running VS2012 with Update 4, and I also tested on VS2013. I was able to get the same speed and performance on my testing VM (running on 4gb ram on laptop) as I did on my main dev machine.

Show previous comments (20)
DevExpress Support Team 7 years ago

    Thank you for your feedback, Dirk! I am happy to hear that the fix works.
    Let me know if you face any issue after upgrading to v18.1.5.

      I just wanted to say thank you for this fix.

      I've been using your controls for 7 years now and the design view slowness was always a major frustration. Sometimes 20 to 30 seconds to change the ID on a text box.

      I found setting properties, locating controls and other functions easier in the design view especially when I have a large number of controls.

      I loaded one of my notoriously slow pages with 18.1.5 and there is absolutely no delay when viewing or changing properties.

      My cardiovascular system thanks you.

      Nic

      DevExpress Support Team 6 years ago

        I am really happy to hear that the fix helps, Nic. I'm forwarding your cardiovascular system thanks to our developers. :)
        Should the issue appear in some specific scenario, feel free to contact me at any time.

        Disclaimer: The information provided on DevExpress.com and affiliated web properties (including the DevExpress Support Center) is provided "as is" without warranty of any kind. Developer Express Inc disclaims all warranties, either express or implied, including the warranties of merchantability and fitness for a particular purpose. Please refer to the DevExpress.com Website Terms of Use for more information in this regard.

        Confidential Information: Developer Express Inc does not wish to receive, will not act to procure, nor will it solicit, confidential or proprietary materials and information from you through the DevExpress Support Center or its web properties. Any and all materials or information divulged during chats, email communications, online discussions, Support Center tickets, or made available to Developer Express Inc in any manner will be deemed NOT to be confidential by Developer Express Inc. Please refer to the DevExpress.com Website Terms of Use for more information in this regard.