We are seeing a problem in our application which is caused by calls to Symbol.CreateSwatchAsync. The exception we are getting is a COMException (0x88980003) which is thrown while we create the images for our legend controls.
This doesn't happen with a single map window being opened. But if we start to open more maps at the same time then it starts to appear. We have a large number of layers being loaded in each map (~50) and some of the layers can have large numbers of symbols (unique value renderers etc...).
We loop through the layer infos and create the swatches we need to display in our application. It could suggest that something is therefore not being released correctly by the API?
I have attached the full stack trace for you, and it's also worth mentioning that our 'googling' bought up this very similar issue raised earlier in the year - https://community.esri.com/thread/95101.
It's likely you're running out of texture memory on your graphics card. 50 layers is way beyond what we would recommend to get a proper performance and reduce memory consumption.
Yep, running out of something. We allow our clients to configure the number of layers & maps so this is something that will be different on a per client basis.
Do you have any clear recommendations for number of layers, features etc... anywhere? Or what would you personally consider to be a reasonable amount?
There is a discussion of layer types, number of layers, rendering modes, etc in the Performance Considerations doc: Performance considerations—ArcGIS Runtime SDK for .NET | ArcGIS for Developers