<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: AddOverlay Performance in ArcGIS Pro SDK Questions</title>
    <link>https://community.esri.com/t5/arcgis-pro-sdk-questions/addoverlay-performance/m-p/861024#M4754</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Kris,&lt;/P&gt;&lt;P&gt;One more piece of information that I want to share with you about performance with what you are doing:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It is a good idea to use Coordinate2D instead of MapPoints.&amp;nbsp; Use these Coordinate2D points in the MultipointBuilder that consumes points.&amp;nbsp;MapPointBuilder is quite slow in comparison.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://pro.arcgis.com/en/pro-app/sdk/api-reference/#topic8567.html"&gt;https://pro.arcgis.com/en/pro-app/sdk/api-reference/#topic8567.html&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;P&gt;Uma&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 05 Oct 2020 16:30:46 GMT</pubDate>
    <dc:creator>UmaHarano</dc:creator>
    <dc:date>2020-10-05T16:30:46Z</dc:date>
    <item>
      <title>AddOverlay Performance</title>
      <link>https://community.esri.com/t5/arcgis-pro-sdk-questions/addoverlay-performance/m-p/861018#M4748</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P style="margin-left: .5in;"&gt;Hello,&lt;/P&gt;&lt;P style="margin-left: .5in;"&gt;We are in the process of porting our application from ArcMap to ArcGIS Pro.&amp;nbsp;&lt;/P&gt;&lt;P style="margin-left: .5in;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="margin-left: .5in;"&gt;We have a need to dynamically embellish the map display.&amp;nbsp; We have several variations of this; we’ll do things like display a different symbol over a subset of point features, draw a thicker line over polylines/polygons, or add polygons to highlight a region around some features, etc.&amp;nbsp; The data we are using to determine the display is external to ArcGIS Pro.&amp;nbsp; These embellishments are often fairly short-lived.&lt;/P&gt;&lt;P style="margin-left: .5in;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="margin-left: .5in;"&gt;In our ArcMap implementation we are making use of AfterDraw (AfterDraw event IActiveViewEvents_AfterDraw).&amp;nbsp; In ArcGIS Pro, we are trying to use Overlays.&amp;nbsp; The api’s appear to be fairly comparable and offer similar benefits: we can dynamically add/remove the “afterdraw/overlay” to the map pretty seamlessly, there is no impact on undo/redo, we have a good variety of options for displaying points/polylines/polygons.&lt;/P&gt;&lt;P style="margin-left: .5in;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="margin-left: .5in;"&gt;The problem we are bumping into under ArcGIS Pro is related to performance when creating overlays.&amp;nbsp; As you can see from these timings, things get fairly slow at 5K overlays, and become unusable pretty quickly.&lt;/P&gt;&lt;P style="margin-left: .5in;"&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE style="margin-left: 35.25pt;" width="324"&gt;&lt;THEAD&gt;&lt;TR&gt;&lt;TD style="border: solid windowtext 1.0pt; background: #EFEFEF; padding: 3.75pt 3.75pt 3.75pt 3.75pt;" width="102"&gt;&lt;P&gt;&lt;STRONG&gt;Number of Overlays&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border: solid windowtext 1.0pt; border-left: none; background: #EFEFEF; padding: 3.75pt 3.75pt 3.75pt 3.75pt;" width="108"&gt;&lt;P&gt;&lt;STRONG style="color: black; "&gt;Create Overlay: ArcGIS Pro&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border: solid windowtext 1.0pt; border-left: none; background: #EFEFEF; padding: 0in 0in 0in 0in;" width="114"&gt;&lt;P&gt;&lt;SPAN style="color: black;"&gt;Create AfterDraw:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: black;"&gt;ArcMap&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/THEAD&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD style="border: solid windowtext 1.0pt; border-top: none; padding: 3.75pt 3.75pt 3.75pt 3.75pt;" width="102"&gt;&lt;P&gt;&lt;STRONG&gt;1,000&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; padding: 3.75pt 3.75pt 3.75pt 3.75pt;" width="108"&gt;&lt;P&gt;&lt;STRONG&gt;0m 05s&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; padding: 0in 0in 0in 0in;" width="114"&gt;&lt;P&gt;&amp;nbsp;0m 1s&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="border: solid windowtext 1.0pt; border-top: none; padding: 3.75pt 3.75pt 3.75pt 3.75pt;" width="102"&gt;&lt;P&gt;&lt;STRONG&gt;5,000&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; padding: 3.75pt 3.75pt 3.75pt 3.75pt;" width="108"&gt;&lt;P&gt;&lt;STRONG&gt;0m 26s&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; padding: 0in 0in 0in 0in;" width="114"&gt;&lt;P&gt;&amp;nbsp;0m 1s&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="border: solid windowtext 1.0pt; border-top: none; padding: 3.75pt 3.75pt 3.75pt 3.75pt;" width="102"&gt;&lt;P&gt;&lt;STRONG&gt;10,000&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; padding: 3.75pt 3.75pt 3.75pt 3.75pt;" width="108"&gt;&lt;P&gt;&lt;STRONG&gt;0m 50s&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; padding: 0in 0in 0in 0in;" width="114"&gt;&lt;P&gt;&amp;nbsp;0m 1s&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="border: solid windowtext 1.0pt; border-top: none; padding: 3.75pt 3.75pt 3.75pt 3.75pt;" width="102"&gt;&lt;P&gt;&lt;STRONG&gt;20,000&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; padding: 3.75pt 3.75pt 3.75pt 3.75pt;" width="108"&gt;&lt;P&gt;&lt;STRONG&gt;1m 31s&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; padding: 0in 0in 0in 0in;" width="114"&gt;&lt;P&gt;&amp;nbsp;0m 1s&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="border: solid windowtext 1.0pt; border-top: none; padding: 3.75pt 3.75pt 3.75pt 3.75pt;" width="102"&gt;&lt;P&gt;&lt;STRONG&gt;50,000&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; padding: 3.75pt 3.75pt 3.75pt 3.75pt;" width="108"&gt;&lt;P&gt;&lt;STRONG&gt;4m 23s&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; padding: 0in 0in 0in 0in;" width="114"&gt;&lt;P&gt;&amp;nbsp;0m 1s&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="border: solid windowtext 1.0pt; border-top: none; padding: 3.75pt 3.75pt 3.75pt 3.75pt;" width="102"&gt;&lt;P&gt;&lt;STRONG&gt;100,000&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; padding: 3.75pt 3.75pt 3.75pt 3.75pt;" width="108"&gt;&lt;P&gt;&lt;STRONG&gt;9m 02s&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; padding: 0in 0in 0in 0in;" width="114"&gt;&lt;P&gt;&amp;nbsp;0m 3s&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD style="border: solid windowtext 1.0pt; border-top: none; padding: 3.75pt 3.75pt 3.75pt 3.75pt;" width="102"&gt;&lt;P&gt;&lt;STRONG&gt;550,000&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; padding: 3.75pt 3.75pt 3.75pt 3.75pt;" width="108"&gt;&lt;P&gt;&lt;STRONG&gt;~45 m&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD style="border-top: none; border-left: none; border-bottom: solid windowtext 1.0pt; border-right: solid windowtext 1.0pt; padding: 0in 0in 0in 0in;" width="114"&gt;&lt;P&gt;&amp;nbsp;0m 8s&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P style="margin-left: .5in;"&gt;&lt;SPAN style="font-size: 11.5pt; color: #3d3d3d;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-left: .5in;"&gt;The timing for 550k elements in ArcGIS Pro is an estimate.&amp;nbsp; Logically, 9 minutes at 100k will take approximately 45 minutes at 550k.&amp;nbsp; it is possible that it takes less or more than 45 minutes.&amp;nbsp; I just don't have the time to sit and wait until it finishes to find out for sure.&lt;/P&gt;&lt;P style="margin-left: .5in;"&gt;&lt;/P&gt;&lt;P style="margin-left: .5in;"&gt;I've attached an ArcGIS Pro add-in showing the code I use to add the overlays to the map.&amp;nbsp; Perhaps someone can review to ensure we are not doing anything wrong.&amp;nbsp; Note: For this add-in I've only created point overlays, but we do make use of polylines and polygons as well.&amp;nbsp; Also note that for the add-in, the color is uniform across all points.&amp;nbsp; However, we have use cases where the color will be different so we cannot use a single pointSymbol/SymbolReference in all cases.&lt;/P&gt;&lt;P style="margin-left: .5in;"&gt;&lt;/P&gt;&lt;P style="margin-left: .5in;"&gt;The add-in requires no geodatabase or external datasource.&amp;nbsp; It will simply create the overlays over any map you select.&amp;nbsp; I used the geographic center of the United States as the starting point.&amp;nbsp;&amp;nbsp;We do not rely on 3D maps for our software so please use a 2D map when running the add-in.&lt;/P&gt;&lt;P style="margin-left: .5in;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="margin-left: .5in;"&gt;TIA,&lt;/P&gt;&lt;P style="margin-left: .5in;"&gt;Kris&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 17 Sep 2020 19:35:44 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-sdk-questions/addoverlay-performance/m-p/861018#M4748</guid>
      <dc:creator>KrisCulin</dc:creator>
      <dc:date>2020-09-17T19:35:44Z</dc:date>
    </item>
    <item>
      <title>Re: AddOverlay Performance</title>
      <link>https://community.esri.com/t5/arcgis-pro-sdk-questions/addoverlay-performance/m-p/861019#M4749</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hey Everyone,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Does anyone have a solution to this performance issue?&amp;nbsp; Am I doing something wrong with the API that is causing the slow down?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope someone from ESRI can respond.&amp;nbsp; We are shipping on October 30.&amp;nbsp; Even if you don't have a fix for this, at least we can prep for dealing with user inquiries about it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kind Regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kris Culin&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 01 Oct 2020 18:49:35 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-sdk-questions/addoverlay-performance/m-p/861019#M4749</guid>
      <dc:creator>KrisCulin</dc:creator>
      <dc:date>2020-10-01T18:49:35Z</dc:date>
    </item>
    <item>
      <title>Re: AddOverlay Performance</title>
      <link>https://community.esri.com/t5/arcgis-pro-sdk-questions/addoverlay-performance/m-p/861020#M4750</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Kris,&lt;/P&gt;&lt;P&gt;One way you can optimize your workflow is by using multipoint geometry.&amp;nbsp; (Multipart for polylines and polygons).&lt;/P&gt;&lt;P&gt;I modified your code like this and saw a substantial improvement in performance.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&lt;CODE&gt;&lt;SPAN class="keyword token"&gt;private&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;void&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;CreateQuadrant&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;MapView mapView&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; SpatialReference sr&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; MapPoint centerPoint&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;int&lt;/SPAN&gt; quadrant&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;double&lt;/SPAN&gt; dx&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;double&lt;/SPAN&gt; dy&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
    List&lt;SPAN class="operator token"&gt;&amp;lt;&lt;/SPAN&gt;MapPoint&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt; list &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="keyword token"&gt;new&lt;/SPAN&gt; &lt;SPAN class="token class-name"&gt;List&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;lt;&lt;/SPAN&gt;MapPoint&lt;SPAN class="operator token"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
    &lt;SPAN class="keyword token"&gt;var&lt;/SPAN&gt; pointSymbol &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;CreatePoinSymbol&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;Color&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;FromArgb&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;255&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;255&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;255&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;10.0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
    MapPoint point &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; MapPointBuilder&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;CreateMapPoint&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;centerPoint&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;X &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; dx&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; centerPoint&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;Y &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; dy&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; sr&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
    &lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="keyword token"&gt;int&lt;/SPAN&gt; Row &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; Row &lt;SPAN class="operator token"&gt;&amp;lt;&lt;/SPAN&gt; quadrant&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;++&lt;/SPAN&gt;Row&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
        &lt;SPAN class="keyword token"&gt;for&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="keyword token"&gt;int&lt;/SPAN&gt; Col &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; Col &lt;SPAN class="operator token"&gt;&amp;lt;&lt;/SPAN&gt; quadrant&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;++&lt;/SPAN&gt;Col&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
             list&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;Add&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;point&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
             &lt;SPAN class="comment token"&gt;//Graphics.Add(mapView.AddOverlay(point, pointSymbol.MakeSymbolReference()));&lt;/SPAN&gt;
             point &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; MapPointBuilder&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;CreateMapPoint&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;point&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;X &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; dx&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; point&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;Y&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; sr&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
             list&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;Add&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;point&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
         &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;

         point &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; MapPointBuilder&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;CreateMapPoint&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;centerPoint&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;X &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; dx&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; point&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;Y &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; dy&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; sr&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
       &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;

       Multipoint multiPoint &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; MultipointBuilder&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;CreateMultipoint&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;list&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
       Graphics&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;Add&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;mapView&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;AddOverlay&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;multiPoint&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; pointSymbol&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;MakeSymbolReference&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;
‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Let me know how it goes!&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Uma&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 10:40:27 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-sdk-questions/addoverlay-performance/m-p/861020#M4750</guid>
      <dc:creator>UmaHarano</dc:creator>
      <dc:date>2021-12-12T10:40:27Z</dc:date>
    </item>
    <item>
      <title>Re: AddOverlay Performance</title>
      <link>https://community.esri.com/t5/arcgis-pro-sdk-questions/addoverlay-performance/m-p/861021#M4751</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Uma,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;THANK YOU, THANK YOU, THANK YOU!!!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;That worked wonders for the performance, especially for points. It's on par with ArcMap and that is simply amazing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Polylines are nearly as fast (not quite, but in the ballpark).&amp;nbsp; It took me about 20 minutes to figure out how to create the multipart but your API documentation helped out there.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Since we don't expect a large number of polygons in our models, I am not going to do the changes for those.&amp;nbsp; Points and polylines were the bottlenecks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now, if you can seriously consider including overlays with the export options (i.e. metafile) that would be icing on the cake.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you again.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kris Culin&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 02 Oct 2020 09:53:18 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-sdk-questions/addoverlay-performance/m-p/861021#M4751</guid>
      <dc:creator>KrisCulin</dc:creator>
      <dc:date>2020-10-02T09:53:18Z</dc:date>
    </item>
    <item>
      <title>Re: AddOverlay Performance</title>
      <link>https://community.esri.com/t5/arcgis-pro-sdk-questions/addoverlay-performance/m-p/861022#M4752</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;A href="https://community.esri.com/migrated-users/86730"&gt;Uma Harano&lt;/A&gt;,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As I was implementing the new code I had to figure out how to create a Multipart for polylines and polygons.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The only way I could figure this out is to use a PolylineBuilder and call AddPart on it passing in the points of my polyline.&amp;nbsp; Then once I have all the parts added, call ToGeometry() and use that with the AddOverlay method.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is this the correct procedure or is there a different way of doing this?&amp;nbsp; So far I have found this approach to be slower than points but faster than the original&amp;nbsp;implementation.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Also keep in mind that colors can vary.&amp;nbsp; I could have 10 links that are blue and then the next 10 links red.&amp;nbsp; I've&amp;nbsp;already handled this with points (just a map of color to list of points which are used with the MultipointBuilder).&amp;nbsp; I've done something similar for links but instead of a list of points, it is a PolylineBuilder.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kris&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 02 Oct 2020 14:12:08 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-sdk-questions/addoverlay-performance/m-p/861022#M4752</guid>
      <dc:creator>KrisCulin</dc:creator>
      <dc:date>2020-10-02T14:12:08Z</dc:date>
    </item>
    <item>
      <title>Re: AddOverlay Performance</title>
      <link>https://community.esri.com/t5/arcgis-pro-sdk-questions/addoverlay-performance/m-p/861023#M4753</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Kris,&lt;/P&gt;&lt;P&gt;Your workflow with adding the parts is exactly correct!&lt;/P&gt;&lt;P&gt;You might have already seen this example in the API Reference. But in case you haven't, here is a code sample. It uses points, but similar for lines also.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A class="link-titled" href="https://pro.arcgis.com/en/pro-app/sdk/api-reference/#topic8492.html" title="https://pro.arcgis.com/en/pro-app/sdk/api-reference/#topic8492.html"&gt;AddPart Method: ArcGIS Pro 2.6 API Reference Guide&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Uma&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 02 Oct 2020 16:46:53 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-sdk-questions/addoverlay-performance/m-p/861023#M4753</guid>
      <dc:creator>UmaHarano</dc:creator>
      <dc:date>2020-10-02T16:46:53Z</dc:date>
    </item>
    <item>
      <title>Re: AddOverlay Performance</title>
      <link>https://community.esri.com/t5/arcgis-pro-sdk-questions/addoverlay-performance/m-p/861024#M4754</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Kris,&lt;/P&gt;&lt;P&gt;One more piece of information that I want to share with you about performance with what you are doing:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It is a good idea to use Coordinate2D instead of MapPoints.&amp;nbsp; Use these Coordinate2D points in the MultipointBuilder that consumes points.&amp;nbsp;MapPointBuilder is quite slow in comparison.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://pro.arcgis.com/en/pro-app/sdk/api-reference/#topic8567.html"&gt;https://pro.arcgis.com/en/pro-app/sdk/api-reference/#topic8567.html&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;P&gt;Uma&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 05 Oct 2020 16:30:46 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-sdk-questions/addoverlay-performance/m-p/861024#M4754</guid>
      <dc:creator>UmaHarano</dc:creator>
      <dc:date>2020-10-05T16:30:46Z</dc:date>
    </item>
    <item>
      <title>Re: AddOverlay Performance</title>
      <link>https://community.esri.com/t5/arcgis-pro-sdk-questions/addoverlay-performance/m-p/861025#M4755</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks Uma!&amp;nbsp; That's good information to know.&amp;nbsp; I will look into this as soon as I can.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kris&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 05 Oct 2020 16:36:36 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-sdk-questions/addoverlay-performance/m-p/861025#M4755</guid>
      <dc:creator>KrisCulin</dc:creator>
      <dc:date>2020-10-05T16:36:36Z</dc:date>
    </item>
  </channel>
</rss>

