I’ve installed the new PerfTools add-in for ArcGIS Pro; what are some scenarios in which this new tool can help optimize performance?
Displaying and Logging Rendering Time for Specific Spatial Extents
Have you created a series of spatial bookmarks in your ArcGIS Pro project? A one-line script command (ZoomToBookmarks all) can zoom through these spatial bookmarks and log draw time, frames per second (FPS) metrics, and other timestamps. No bookmarks? No problem…you can also specify extents by providing 2D or 3D camera positions in the same spatial coordinates as your data.
Playing and Timing Animations
Have you added an animation? Using the PlayAnimation command returns measures of total elapsed animation time, as well as average and minimum FPS.
To build a thorough display cache or simulate navigation through large datasets without specifying bookmarks or camera positions, you can use the roaming capabilities of PerfTools. This allows you to virtually “walk” across the active view, starting from the upper left and moving row-by-row towards the lower right. The total draw time, in addition to average and minimum FPS, are logged for your reference.
Timing Spatial Selection
Moving from a file geodatabase to an enterprise geodatabase? Or have you updated your spatial index? You can examine the impacts these changes have on making spatial selections in ArcGIS Pro. The SelectFeatures command allows you to specify your selection bounding box in screen coordinates on the active 2D or 3D view. PerfTools logs a count of the features selected, as well as the selection and draw complete times.
Most power from the PerfTools add-in comes through a comprehensive scripting language that allows you to assemble several commands into a more comprehensive scenario. With this functionality, you can simulate typical user interactions with ArcGIS Pro, including creating and opening projects, panning, zooming, selecting, and so forth. You can add delays or “think time”, as well as looping commands (ForCount, ForFile, ForFolder, and ForTime) to repeat key parts of your workflow. Via script command, you can also control key aspects of logging content and structure in PerfTools.
Custom Script Commands
Not finding the script command you’re looking for? PerfTools allows you to create your own commands through leveraging the ArcGIS Pro SDK. Part of the PerfTools download includes documentation and a sample, “T1Command”, that gets you started with your own customizations.
After installing the add-in and opening Pro, Take a look in your Documents\ArcGIS\AddIns\ArcGISPro\PerfTools folder. You should see a PDF there titled "PerfTools_for_ArcGIS_Pro.pdf". This contains comprehensive documentation and sample code snippets.
Is PerfTools comprehensive? You bet! We’ll be taking a closer look at some of these techniques in upcoming blog posts. In the meantime, feel free to download the PerfTools AddIn and try it out for yourself!
Ian S. – Performance Engineer