We have recently received an inquiry from a customer who experienced low performance and intensive CPU utilization when opening the Model Editor for quite a complex project...Here I wanted to share a simple tip (+ short survey in the end!) that has helped that guy to improve the situation a lot in his particular project. To refresh your memory about 'Linked Nodes' (or Links as you see it in the Model Editor), let me quote our online documentation:
Certain nodes have a "virtual" child node named Links. Under this node, you can see nodes that contain references to the current node. The screenshot below illustrates the Department node of the IModelClass type. Within the Links node, you can see the Creatable Item for the Department object, Members of the Department type and Views designed for the Department type.
Our performance tuning tip is to disable this feature if you do not really use it or if it causes performance problems when the data model is really complex. Thus a lot of calculations are required to detect all dependencies aka linked nodes.
To apply this tip, set the static DevExpress.ExpressApp.Win.Core.ModelEditor.ExtendModelInterfaceAdapter.LinksEnabled property in the constructor of your WinForms ModuleBase descendant in the YourSolutionName.Module.Win/Module.xx file:
This way, the Linked Nodes feature will be disabled not only at runtime, but also at design time for your WinForms module and application projects.
[C#]namespace MainDemo.Module.Win {
public sealed partial class MainDemoWinModule : ModuleBase {
public MainDemoWinModule() {
InitializeComponent();
DevExpress.ExpressApp.Win.Core.ModelEditor.ExtendModelInterfaceAdapter.LinksEnabled = false;
...
Please comment on whether you:
Q1: dealt with this sort of problems in the past and whether the suggested solution helps you
Q2: ever used this 'linked nodes' feature.
I am looking forward to hearing from you. Thanks in advance!
UPDATE:
See also:
