Hope someone can assists. I have a xamScatterSufrace3D chart on my application that has 3 layers.
When I update the 2 of the layers (Used for position indication) the application slows down and the CPU usage jumps very high. I have looked at the Live example which runs smooth. The indication layers must update fast.
Could someone please assist me. I have to attach a zip file with a sample. We are using V17.2
There is a 1024kb limit on the size of the sample projects attached to the forums. It sounds like the assemblies are included in this sample project that you are trying to attach. Please delete the bin and obj folders of your sample project prior to compressing it to a .zip file, as this should greatly reduce the size of the file.
Thanks, I've attached the sample in the original post.
Thank you for your update on this matter.
I have been investigating the sample project along with our development teams, and I believe that this performance issue that you are seeing versus the Samples Browser live data sample is mainly due firstly to multiple XamScatterSurface3D charts updating at the same time in this case, as multiple layers are not currently supported by the XamScatterSurface3D control at the time of writing this.
I also believe the amount of collection changed notifications you are raising in this case may have an effect. In the samples browser, the points simply have their Z-index value updated, whereas in your sample, the points are being cleared every couple of seconds and replaced completely by new ones. This will raise a few different collection changed notifications, which you may be able to avoid by using the Infragistics ObservableCollectionExtended instead of a base ObservableCollection.
The ObservableCollectionExtended has a BeginUpdate and EndUpdate method which delays all collection changed notifications that would normally happen between these two calls to happen after EndUpdate() is called, and triggers a single Reset notification. Perhaps usage of this collection type and calling BeginUpdate at the start of your update methods and EndUpdate at the end may help you in this case?
I am attaching a modified version of the sample project you provided in which the usage of ObservableCollectionExtended is implemented, and the chart is now updated once every half-second. I hope this helps you.
Please let me know if you have any other questions or concerns on this matter.
Thanks for all the assistance. Are there any development being done on this control still?
Active development is still happening on the XamScatterSurface3D chart, yes. If you would like to ensure that multiple-layer support is added to this control, I would recommend suggesting a new product idea for it at the WPF ideas site. This will place you in direct communication with our product management teams who plan and prioritize upcoming features and development based on community and user feedback.