laptop and a wrench

Bug

Running multiple RouteTasks consumes 50% to 100% of the CPU performance.

Last Published: June 22, 2021 ArcGIS Runtime SDK
Bug ID Number BUG-000139394
SubmittedApril 27, 2021
Last ModifiedJune 5, 2024
Applies toArcGIS Runtime SDK
Version found100.11
Operating SystemWindows OS
Operating System Version10.0 64 Bit
StatusKnown Limit

Additional Information

This issue is specific Garbage Collection in conjunction with the x86/32-bit architecture, .NET Framework, and the pattern in which the API is used. 1. Avoid closing the MobileMapPackage between each call to RouteTask.SolveRouteAsync() (in the reproducer this is in the ProcessLocations function). e.g. ``` streetMapPremiumPackage.Close(); // Remove this call. ``` 2. Call GC.Collect/GC.WaitForPendingFinalizers before the call to streetMapPremiumPackage.Close(): When it is necessary to close the MobileMapPackage between each call to SolveRouteAsync, assign the RouteTask to null and call GC.Collect/GC.WaitForPendingFinalizers before the call to streetMapPremiumPackage.Close();. e.g. ``` solveRouteTask = null; GC.Collect(); GC.WaitForPendingFinalizers(); streetMapPremiumPackage.Close(); ``` 3. Target x64: This issue is only reproducible when the application is compiled as 32-bit (or AnyCPU + Prefer 32-bit), and not when the application is compiled as x64 (or AnyCPU and running on a x64 machine). 4. Update from .NET Framework to .NET 6: The issue was no longer reproducible after updating the repro app to .NET 6. https://docs.microsoft.com/en-us/dotnet/core/porting/upgrade-assistant-overview

Steps to Reproduce

Bug ID: BUG-000139394

Software:

  • ArcGIS Runtime SDK

Get notified when the status of a bug changes

Download the Esri Support App

Discover more on this topic

Get help from ArcGIS experts

Contact technical support

Download the Esri Support App

Go to download options