Hi,
I thought it might be worth sharing something I found as (a) it might be helpful and (b) you might spot a problem with the method.
Essentially in our overridden variants of GetAlllFeaturesCore and GetFeaturesInBoundingBoxCore we added some code to handle excluded IDs and this made a significant performance improvement when excluding larger numbers of IDs. If we didn’t do this they were still excluded but it took much longer to draw the map.
CODE: SNIPPIT
` if (this.FeatureIdsToExclude.Count > 0) { List<string> wanted = features.Select( x => x.Id).ToList().Except(this.FeatureIdsToExclude).ToList(); return new Collection<Feature>(features.Where(x => wanted.Contains(x.Id)).ToList()); }`