Current filter:
                                You should refresh the page.
                                Support Center
                                1
                                  • Starting with version 17.2, we've further optimized the process of creating Controllers that should positively affect forms loading performance and thus overall end user experience, especially in very complex detail forms.  In addition to List Property Editors (learn more about v17.1 improvements in this regard), Detail, Object and Lookup Property Editors, DashboardViewItem and popup windows created in a special way were supported. We are publishing this KB article prior to the 17.2 release to collect early user feedback and improve the overall stability.


                                    Your feedback is needed!

                                    If you are an active v17.1 subscriber and want to test this feature with your real world applications on a virtual machine (or another suitable test environment) prior to the official release, please leave a comment to this KB article or rather create a separate private ticket, so that we can verify your account and provide you with a v17.2 preview installation privately.
                                    We would appreciate your thoughts and feedback once you've had the opportunity to try this new feature in your upgraded v17.2 project. Please report any issues and suggestions in our Support Center. Thanks for your help in advance!

                                    NOTE:
                                    Preview builds for v17.2 we may provide solely for early testing purposes must be installed in trial mode; they are not ready for production use and must not be shared with others, as any other pre-release versions of our software. This build can be installed side by side with other DevExpress major versions. Many other installation parts may not be ready yet or even be broken, so we would kindly ask you to research and test only the functionality discussed in this article. Your application must be upgraded to the new version using the Project Converter, as you would normally do when migrating to a new DevExpress version: Installation > Upgrade Notes. Always backup your application and other important data before installing any preview builds and actual testing.


                                    How it works

                                    To enable the optimization, set the XafApplication.OptimizedControllersCreation property to true in the application descendant constructor.
                                    When this property is set to true, View Controllers that won't be activated due to the ViewController.TargetViewType, ViewController.TargetViewNestingViewController.TargetObjectType or ViewController.TargetViewId restrictions are not created. This optimization is supported in Windows and Frames, whose Frame.View is not changed during the Frame life cycle:

                                    Popup Windows - Windows, created using the following approaches:

                                    *    by executing an Action with ShowViewParameters.TargetWindow set to NewWindow or NewModalWindow (the ShowViewParameters object is passed to the ActionBaseEventArgs.ShowViewParameters argument of the Action's Execute event);
                                    *    by executing an Action with ShowViewParameters.TargetWindow set to Default in a WinForms application with MDI IModelOptionsWin.UIType or in an ASP.NET application with the IModelOptionsWeb.CollectionsEditMode value set to Edit.
                                    *    by calling the ShowViewStrategyBase.ShowViewInPopupWindow method directly.


                                    Nested Frames -  Frames created within the following  Property Editors and View Items:

                                    *    ListPropertyEditor (see Collection Properties);
                                    *    DetailPropertyEditor, ObjectPropertyEditor, ASPxObjectPropertyEditor, LookupPropertyEditor and ASPxLookupPropertyEditor (see Reference Properties);
                                    *    DashboardViewItem (see How to: Display Several Views Side-by-Side).

                                    If you have a custom Action which changes the Frame's View (e.g, by setting TargetWindow to Current) in one of the aforementioned cases, set OptimizedControllersCreation to false.


                                    The OptimizedControllersCreation value has no effect when the Frame's View can be changed (e.g., when the Frame is the application's main window).  In this case, all Frame Controllers are instantiated preliminarily.

                                    In applications created using the Solution Wizard version 17.2 or higher, the OptimizedControllersCreation property is set to true by default. It is recommended to set it to true in applications that are created in older versions. This can be done in the WinApplication and WebApplication descendants' constructors:

                                    [C#]
                                    public partial class MainDemoWinApplication : WinApplication { public MainDemoWinApplication() { InitializeComponent(); this.OptimizedControllersCreation = true; } // ... }
                                    [VB.NET]
                                    Partial Public Class MainDemoWinApplication Inherits WinApplication Public Sub New() InitializeComponent() Me.OptimizedControllersCreation = True End Sub ' ... End Class


                                    IMPORTANT NOTES
                                    1. To avoid possible null reference exceptions when accessing an existing Controller from your code, always ensure that the Frame.GetController<ControllerType> method result is not null when the OptimizedControllersCreation property is true. For example:

                                    [C#]
                                    var controller = Frame.GetController<PersistenceValidationController>(); if (controller != null) { //... }
                                    [VB.NET]
                                    Dim controller = Frame.GetController(Of PersistenceValidationController)() If controller IsNot Nothing Then '... End If

                                    2. The ASPxLookupPropertyEditor.Frame property may have the null value under some circumstances. As a result, you may receive NullReferenceException if you access the ASPxLookupPropertyEditor.Frame property somewhere in your code. To override it, please call the ASPxLookupPropertyEditor.InitializeFrame method before accessing the Frame property. 

                                Show all comments
                                • Dave M Hesketh 07.14.2017
                                  Looking forward to testing this out. 
                                • @Dave: I've provided you with the preview installation in a separate private ticket. Feel free to provide your testing results there. Thanks for your help.

                                • Alex Miller 07.14.2017
                                  Me too!
                                • Gustavo Marzioni 07.14.2017
                                   me too! 
                                • @Alex, Gustavo: I've provided you with the preview installation in a separate private ticket. Feel free to provide your testing results there. Thanks for your help.

                                • Hi Dennis,

                                  i tested 17.2 today – works everything perfect – only had 2 nullrefs where we did not checked for null on Frame.GetController.
                                  The overall performance is noteable better on different views through our application!
                                  Do you see any chance that this will be available in 17.1.X ? given the fact that it is july now, and 17.2 is coming in december we have to wait 6-8 month for this?

                                  At all – thanks to the team for this optimization – great work 😊

                                • Tibor Balogh 07.17.2017
                                  I would like to test it, too.
                                • @All - would be great if many other could test this in their solutions to - if there are not any problems in existing solutions there is the hope DX would eventually port this to 17.1 :)

                                  thx
                                • @Tibor: I've provided you with the preview installation in a separate private ticket. Feel free to provide your testing results there. Thanks for your help.
                                  @Martin: Thanks for testing! As for your request, we'll see how testing with real customer apps goes (hopefully, there will be many volunteers), because we would like to avoid breaking existing customer apps, especially in minor maintenance releases.

                                • Wayne Van Rooyen 07.20.2017
                                  I would like a preview version to test as our application is rather large and does have very complex detail views
                                  Thanks Dennis
                                • @Wayne: I've provided you with the preview installation in a separate private ticket. Feel free to provide your testing results there. Thanks for your help.

                                • Michail 07.27.2017

                                  pls provide us with a preview Version Dennis because we have also implement in 17.1.4 complex Detail Views.
                                  Thanks Dennis

                                • @Michail: I've provided you with the preview installation in a separate private ticket. Feel free to provide your testing results there. Thanks for your help.

                                • Michail 08.07.2017
                                  Hi Dennis

                                  our Team tested last week the 17.2 Version in a view Forms, works everything fine. The Performance was better then in the Version 16.2.

                                  Thnaks for the Team to provide us with this optimisation and look Forward for more optimisation like this
                                • @Michael: Thanks for your report. Our team also greatly appreciates your taking the time to test these features. If you do not mind, we will count on you for testing similar things in the future.

                                • Juan Antonio Trujillo Montenegro 08.07.2017
                                  We are also interested in testing the preview as we also have complex DetailViews.
                                  Thanks in advance!
                                • @Juan: I've provided you with the preview installation in a separate private ticket. Feel free to provide your testing results there. Thanks for your help.

                                • Adam Stiskala 08.13.2017
                                  I'm interested in testing out the v17.2 preview.
                                • @Adam: I've provided you with the preview installation in a separate private ticket. Feel free to provide your testing results there. Thanks for your help.

                                0 Solutions

                                Creation Date Rating Importance Sort by

                                If you need additional product information, write to us at info@devexpress.com or call us at +1 (818) 844-3383

                                FOLLOW US

                                DevExpress engineers feature-complete Presentation Controls, IDE Productivity Tools, Business Application Frameworks, and Reporting Systems for Visual Studio, along with high-performance HTML JS Mobile Frameworks for developers targeting iOS, Android and Windows Phone. Whether using WPF, ASP.NET, WinForms, HTML5 or Windows 10, DevExpress tools help you build and deliver your best in the shortest time possible.

                                Copyright © 1998-2017 Developer Express Inc.
                                All trademarks or registered trademarks are property of their respective owners