Hi Teddy,
Thanks for your interest in Syncfusion products.
Before looking into the issue, could you please share us the diagram file which causes the reported issue, this will help us to reproduce the issue effectively at our end and to provide a better solution to you?
Please let us know if you have any queries.
Regards,
Amsath
Hi Teddy,
Thanks for your update.
We suggest you to click the button with ‘+’ sign which is located below response editor box to attach files.
Please refer the below attached image and let us know if you have any queries.
Regards,
Amsath
Hi Teddy,
Thanks for the update.
Please note that diagram rendering time based on number of nodes and connectors added in the diagram control. We have tested the file which is shared by you and it takes 12 to 15 seconds to render the diagram.
We suggest you to use the Model’s “BeginUpdate” and “EndUpdate” methods in order to reduce the diagram rendering time. Please refer the below code snippet.
[C#]
this.diagram1.Model.BeginUpdate();
this.diagram1.LoadBinary(@"..\..\BinaryFile\File");
this.diagram1.Model.EndUpdate();
Please let us know if any concerns.
Regards,
Senthilkumar M
Hi Teddy,
Thanks for your update.
We are working on this with high priority and we will update you with more details in one business day (05/01/2014).
Please let us know if you have any queries.
Regards,
Amsath
Hi Teddy,
Thanks for your patience.
We suggest you to use Diagram’s ‘BeginUpdate/EndUpdate’ and ‘Pause/Resume’ the Diagram’s EventSink, Model.Eventsink, Model.BridgeManager, Model.HistoryManager to improve the performance of the control while loading large number of nodes (we are able to load the provided diagram file in 10-12 secs in version 8.4.0.10). Please refer the below code snippet.
Here is the code:
[C#]
diagram1.Model.BeginUpdate();
diagram1.EventSink.Pause();
diagram1.Model.EventSink.Pause();
diagram1.Model.BridgeManager.Pause();
diagram1.Model.HistoryManager.Pause();
this.diagram1.LoadBinary(@"..//..//File");
diagram1.Model.HistoryManager.Resume();
diagram1.Model.BridgeManager.Resume();
diagram1.Model.EventSink.Resume();
diagram1.EventSink.Resume();
diagram1.Model.EndUpdate();
Please try the attached sample and let us know if you have any queries.
Regards,
Amsath Ali. M
Hi Teddy,
Thanks for your update.
Please note that the time taken to render the content of the diagram is directly proportional to the number of nodes or complex shapes present in that diagram, and it also depends on the configuration of the processing machine. Since we are able to load the provided diagram file in 10 – 12 seconds in our side, could you please share us your application if it is feasible and your machine configuration, this will help us to analyse the issue further and to provide a better solution to you?
Please let us know if you have any queries.
Regards,
Amsath
Hi,
Actually I have a qualified specification hardware.
I just wanna know, is it need to take time 10-12sec to load that many node on diagram (my binary file)?
Hi Teddy,
Thanks for your update.
Please note that based on our current architecture, the diagram control takes some reasonable amount of time (10 -12 secs in your case) in order to render the nodes and connectors contained in the model, and then updates the graphics path of the connectors when changing the layout (updating the position of nodes) of the diagram and it is directly proportional to the number of nodes contained in the model which is unavoidable.
Please let us know if you have any queries.
Regards,
Amsath Ali. M