We have some performance problems with a large RadDiagram (in one case, there are 372 shapes and 1200+ links, for instance).
While doing some performance profiling, I notice that a great deal of time is spent in RadDiagramConnectionAutomationPeer.GetItemStatusCore and RadDiagramShapeAutomationPeer.GetItemStatusCore. Both of these are calling an AutomationXmlSerializer.Serialize method that takes a the vast majority of the time. This is going on when the diagram is just sitting there with no interaction going on, no changes happening, etc. -- just displaying.
I don't think we've done anything to serialize the diagram intentionally. For instance, I see there is a RadDiagram.Save() method; we are not calling that anywhere, and I can't find it in any of the call history. I also don't see any of our calls leading to these GetItemStatusCore calls, so I'm thinking it's being triggered implicitly somehow.
What are we doing that's triggering this serialization? Is it a critical part of the function of RadDiagram? Since it's causing performance problems, is there anything we can do about it, please?
I also don't (think I) see any documentation for these classes or methods online (or, internet searches turn up nothing for them), so I'm not sure how to proceed on my own.
This is with v. 2021.1.325.40.