Select to view content in your preferred language

Map viewer performance

885
7
Jump to solution
07-11-2024 06:21 AM
SimonSchütte_ct
Frequent Contributor

I am on Enterprise 10.9.1 with a 25MB polygon layer. 
In the old map viewer it takes half the time to load the map compared to the new map viewer.
The old Map Viewer first draws the layer and then the basemap.
The new Map Viewer first draws the basemap and then the layer.

What is the cause and how to resolve it?

My initial guess was that it is related to introduction of vector tiles, creating more load on the client side on the CPU (since there is no dedicated GPU).
There seems to be a difference in the Basemap when changing between old and new map viewer (labels are placed differently). But checking the URLs, they seem to stay identical. Only the order in which they are called changed.

0 Kudos
1 Solution

Accepted Solutions
ChristopherCounsell
MVP Regular Contributor

I read this as the system requirements for the ArcGIS Maps SDK for JavaScript. The software development kit. It has other requirements like node.js and npm... This would explain why it's in the development documentation and ArcGIS Online has its own requirements:

https://doc.arcgis.com/en/arcgis-online/reference/browsers.htm

Vector tiles are supported by map viewer classic and should generally be faster than rendering feature services...

As @jcarlson said 10.9.1 was one of the initial releases of Map Viewer in enterprise. 10.9.1 is in extended support. I imagine there'll be improvements over the past 3-4 years of updates, for both performance and functionality. It's difficult to engage in a conversation like this as efforts are probably better placed in a) improving general map viewer performance or b) a comparison of classic and the current 11.3 / ArcGIS Online map viewer.

Map Viewer is here. Honestly for me it's leagues better than classic. I haven't gone back. It does have higher system requirements - in line with modern browser expectations. We used to have issues with classic and WebGL. There's new functionality and better alignment with 4.x apps (field maps, exp builder, dashboards, instant apps...). It is a slight pain that some functionality (edit multiple in web app builder) hasn't come across but it's coming hard and fast. I'd only stay with map viewer classic for existing apps in web app builder, and everything else I'd look at aggressively upgrading.

There are lots of things you can do to improve performance of a large feature layer:

  • Disable editing
  • Use static filters (to allow caching) - dynamic ones always hit the database
  • Publish layers as the same coordinate system as the map to avoid projection on the fly
  • Use .svg graphics instead of image
  • Use scale levels
  • Enable optimization, generalize geometry, check/repair geometry
  • Use vector or map tiles

View solution in original post

7 Replies
jcarlson
MVP Esteemed Contributor

The old map viewer layered the labels over the map in their own object, whereas the new map viewer is determining labels in a sort of "tiled" approach. If you have labeled lines, you'll see them periodically repeat no matter what you do.

The old map viewer is not necessarily faster than the new map viewer, but it really depends on the layers in your map and their configuration. Also, the new map viewer was pretty fresh at 10.9.1, and things have improved quite a bit since then. I remember being back at 10.9.1, and there were still lots of valid use-cases for preferring the old map over the new one.

Do you need the new map viewer for a particular purpose? Staying put with the old one can be a valid choice.

- Josh Carlson
Kendall County GIS
TanuHoque
Esri Regular Contributor

@SimonSchütte_ct 

I am on Enterprise 10.9.1 with a 25MB polygon layer. 

what kind of service you have here - map service, feature service, vector tiled?

0 Kudos
SimonSchütte_ct
Frequent Contributor

In this case a feature service (no special style or labeling enabled)

Turns out the new Map viewer is far more resource hungry compared to the old map viewer:
Virtualized Client Machine 2 Cores, no dedicated GPU: old Map Viewer is 2-3 times faster to render the map
Virtualized Client Machine 8 Cores, no dedicated GPU: render time is acceptable, but still a little bit slower in the new map viewer

I found this: ArcGIS Web Map Viewer Performance Issue - Enterprise 10.9.1 : r/gis (reddit.com)
which lead me to System Requirements | Overview | ArcGIS Maps SDK for JavaScript 4.30 | Esri Developer

"At least 2 virtual CPUs (vCPUs) per user.
Use a physical GPU in the host server and allocate virtual GPU (vGPU) resources for each user."
(This information should not be hidden in the developer documentation, it should be in the Map Viewer documentation)

If you don´t have access to GPU resources, you need at least 8 Cores. 2 Cores don´t suffice.

0 Kudos
ChristopherCounsell
MVP Regular Contributor

I read this as the system requirements for the ArcGIS Maps SDK for JavaScript. The software development kit. It has other requirements like node.js and npm... This would explain why it's in the development documentation and ArcGIS Online has its own requirements:

https://doc.arcgis.com/en/arcgis-online/reference/browsers.htm

Vector tiles are supported by map viewer classic and should generally be faster than rendering feature services...

As @jcarlson said 10.9.1 was one of the initial releases of Map Viewer in enterprise. 10.9.1 is in extended support. I imagine there'll be improvements over the past 3-4 years of updates, for both performance and functionality. It's difficult to engage in a conversation like this as efforts are probably better placed in a) improving general map viewer performance or b) a comparison of classic and the current 11.3 / ArcGIS Online map viewer.

Map Viewer is here. Honestly for me it's leagues better than classic. I haven't gone back. It does have higher system requirements - in line with modern browser expectations. We used to have issues with classic and WebGL. There's new functionality and better alignment with 4.x apps (field maps, exp builder, dashboards, instant apps...). It is a slight pain that some functionality (edit multiple in web app builder) hasn't come across but it's coming hard and fast. I'd only stay with map viewer classic for existing apps in web app builder, and everything else I'd look at aggressively upgrading.

There are lots of things you can do to improve performance of a large feature layer:

  • Disable editing
  • Use static filters (to allow caching) - dynamic ones always hit the database
  • Publish layers as the same coordinate system as the map to avoid projection on the fly
  • Use .svg graphics instead of image
  • Use scale levels
  • Enable optimization, generalize geometry, check/repair geometry
  • Use vector or map tiles
TanuHoque
Esri Regular Contributor

@SimonSchütte_ct 

if you don't need have editing workflow, then pls try adding as a map image layer; that should improve the performance as the draw will happen on the server side and there will be no need to bring large number of polygons on the client side.

 

0 Kudos
SimonSchütte_ct
Frequent Contributor

Thank you all for the suggestions.
I intended to set the new Map Viewer as default as I like it more, but in 10.9.1 the old Map Viewer seems to be the better choice in my case.  I´ll shelve the performance impact as known issue and sit this one out until he next version upgrade in this environment.

 

0 Kudos
RodneyParker
Emerging Contributor

Hi all,

   I am using map viewer classic for some time and I am trying to use map viewer due to classic not being supported.  Has anyone noticed that it takes twice as many clicks to perform the same task in map viewer classic?  Are they trying to make it difficult to do our job?

 

0 Kudos