Issues with webGL performance and support

4619
12
Jump to solution
03-04-2021 10:24 AM
dmarkbreiter
New Contributor II

 

Problem

I've been developing a web application for the first time using the JS API. When testing the performance of the website, I've had perfectly snappy use on relatively new hardware (such as my Surface Laptop 3 8GB RAM, Chrome v88) but cripplingly slow use on somewhat old hardware (MacBook Pro 13" 2016 8GB RAM, MacBook Pro 15" 2014 8GB RAM, Dell Inspiron 15 5000 2017 8GB RAM, all running Chrome v88). 

Link to web app in development:

 

Troubleshooting

Considering how these "older" hardware aren't very old, the laggy performance is troubling. At first I thought it might be a basemap or feature service that was slowing down the application, but when I tested sample apps on the developer page for the API, I had equally if not slower performance.

Example apps linked below:

The above apps work perfectly fine on my Surface Laptop 3, but absolutely limp along on the other tested hardware configs. 

UPDATE I

Looking at my own app, I see that two feature services (LAU_Localities_View and SoCal_Counties) have multiple GET requests at page load. I've included the Query String Parameters of one of them below:

The first thing that strikes me as weird is the low maxRecordCountFactor of 3.

 

 

 

f: pbf
geometry: {"spatialReference":{"latestWkid":3857,"wkid":102100},"xmin":-13149614.849954996,"ymin":3757032.814274987,"xmax":-12993071.816026995,"ymax":3913575.8482029866}
maxRecordCountFactor: 3
resultOffset: 0
resultRecordCount: 8000
where: 1=1
orderByFields: OBJECTID ASC
outFields: OBJECTID
outSR: 102100
quantizationParameters: {"extent":{"spatialReference":{"latestWkid":3857,"wkid":102100},"xmin":-13149614.849954996,"ymin":3757032.814274987,"xmax":-12993071.816026995,"ymax":3913575.8482029866},"mode":"view","originPosition":"upperLeft","tolerance":305.74811314062526}
resultType: tile
spatialRel: esriSpatialRelIntersects
geometryType: esriGeometryEnvelope
inSR: 102100

 

UPDATE II

It looks like the warning regarding graphics driver support for webGL is the culprit. Chromium based browsers seemed to suffer, but the issue seemed to only persist for about a day (no updates were performed on Edge 88 or macOS Catalina).

Question

Is this the expected behavior/performance of web applications built using the API?

If not, how can I make my application more performant on a variety of hardware configs? Even panning around a basemap feels and looks choppy on this hardware. 

 

1 Solution

Accepted Solutions
AndyGup
Esri Regular Contributor

Yes, we have seen those errors before. The error is saying that there was a bug in the display driver and a workaround was applied by OS. Best thing is to update the drivers. Make sure you are on MacOS 10.15.7 with the latest supplemental or update to Big Sur, if you are able. And, also for the best performance make sure you have the latest browser version installed. Edge 89 should be the latest.

View solution in original post

12 Replies
dmarkbreiter
New Contributor II

It would appear that the issue is with Esri's WebGl engine and it not working with the machine's graphics driver as evidenced by the following console warning on Chrome based browsers:

[esri.views.2d.engine.webgl.WebGLDriverTest] A problem was detected with your graphics driver. Your driver does not appear to honor sampler precision specifiers, which may result in rendering issues due to numerical instability. We recommend ensuring that your drivers have been updated to the latest version. Applying lowp sampler workaround. [0.0.0.0]

When the web apps linked in the question were tested on FireFox 86, they worked perfectly fine and without the warning above.

An answer to this question was posted by me on StackOverflow

0 Kudos
AndyGup
Esri Regular Contributor

Interesting, which hardware are you seeing the error on? I just tested Examples 1 and 3 from above on a 2013 MacBook Pro 8GB RAM, MacOS 11.2.1. Using Chrome 89 I'm not seeing the same warning and the apps were usable. Also note, Examples 2 and 3 are using older versions of the JS API. The latest version is 4.18.

0 Kudos
dmarkbreiter
New Contributor II

@AndyGup  How weird. I'm running on a 13" 2016 MacBook Pro i5 8GM RAM macOS 10.15  on Chrome 89. Suddenly, as of the posting of this comment, the warning is now gone and the apps work... Has this warning been reported previously and is there anyway to ensure that it does not impact performance again? 

UPDATE

I was able to reproduce the warning on (Chromium) Edge 88 on the Macbook Pro but not Chrome... 

0 Kudos
AndyGup
Esri Regular Contributor

Yes, we have seen those errors before. The error is saying that there was a bug in the display driver and a workaround was applied by OS. Best thing is to update the drivers. Make sure you are on MacOS 10.15.7 with the latest supplemental or update to Big Sur, if you are able. And, also for the best performance make sure you have the latest browser version installed. Edge 89 should be the latest.

ZianChoy
Occasional Contributor

I'm able to reproduce the problem but the F12 console doesn't show a warning about WebGL. In fact, task manager says Firefox is correctly dumping the work on my laptop's NVidia discrete GPU instead of the integrated Intel GPU.

I hope this makes other people feel better if the maps (2D & 3D) feel slow.

If anyone wants to try reproducing the issue...

Hardware

  • Dell Latitude 5480
  • Intel i7-7820HQ
  • 32 GB RAM
  • NVidia GeForce 930MX discrete GPU
  • Latest drivers from Dell are installed.
  • Display adapter drivers are listed below.
    • From Dell
      • NVIDIA 30.0.14.7288 (12/8/2021)
      • Intel Corporation 27.20.100.9664 (6/1/2021)
      • Dell Universal Dock D6000 DisplayLink 10.1.2875.0 (8/11/2021)
    • From other companies:
      • Citrix Indirect Display Adapter from Citrix Systems Inc. 12.40.44.247 (1/23/2019)
  • Firefox 98.0
  • Windows 10 21H1 Build 19043
  • Graphics performance preference in Windows: Firefox: High performance

Wiring and Peripherals:

  • Laptop connected to  Dell USB Type-C dock (uses DisplayLink)
  • Dock connected via DisplayPort to a 2560x1440 60hz Dell monitor and via HDMI to an Asus 1080x1920 monitor (it's rotated)
  • Primary monitor is the Dell monitor
  • Laptop's internal monitor is disabled

Task Manager:

Idle:

- 0-1% 3D in use and 0-1% Compute_0 for the NVidia GPU

- 2-9% 3D in use for the Intel HD Graphics 630

- 8%-16% CPU at ~2.8 to 3 Ghz

- Disk is idle

- 13.1 GB RAM is in use (15.8 of 36.6 committed)

While the Dot Density Sample is Drawing:

-Intel iGPU spikes to 100% momentarily

- NVidia GPU hovers at ~50% (3D) for a few seconds. GPU memory usage went to 1 / 18 GB.

- CPU jumps to 99+% for a second or two.

0 Kudos
DamonDamon
New Contributor

Having the exact same problem:

"A problem was detected with your graphics driver. Your driver does not appear to honor sampler precision specifiers, which may result in rendering issues due to numerical instability. We recommend ensuring that your drivers have been updated to the latest version. Applying lowp sampler workaround. [0.0.0.0]"

I'm running the latest version of FireFox, but this has been happening two or three versions back, too. The thing is that on Chrome, I don't have these problems. Here is the site I'm using:

https://gis-michigan.opendata.arcgis.com/datasets/cities-1/explore?location=43.941754%2C-85.411212%2...

I'm unable to select any feature on the map. I have a really old OS (Windows 7), but it's saying that the graphic driver isn't updated, and it very much is. Any help?

0 Kudos
AndyGup
Esri Regular Contributor

Hi @DamonDamon here are Mozilla's guidelines for trying to address problems similar to yours:  https://support.mozilla.org/en-US/kb/upgrade-graphics-drivers-use-hardware-acceleration. Have you looked into this?

0 Kudos
DamonDamon
New Contributor

Unfortunately, none of those worked. In fact, when I disabled webgl.disabled, I got this error when trying to pull up the arcgis map on that website: Screenshot 2022-07-11 at 20-58-45 GIS Open Data.png

Interestingly, when I go to "Open in ArcGIS Online" and select "Open in Map Viewer" and then "Open in Classic Viewer" I can select the features:Screenshot 2022-07-11 at 21-04-01 GIS Open Data.png

Classic.png

0 Kudos
mgeorge
Esri Contributor

Hi Damon, can you post your CPU/GPU & GPU driver version? You can go to window -> run -> "dxdiag" and then look under the system and display tabs. 

There might not be much we can do here. We've found certain old intel iGPUs to have rendering bugs, that we test for when the map loads -- that's what that error is saying. When we encounter these bugs, we apply a workaround so that things can still render, but oftentimes performance is very bad -- not because of the workaround, but because the browser itself is also applying numerous workarounds for the bad drivers that do severely degrade performance. You can see what workarounds browsers are applying in chrome://gpu. 

Also note that some vendors like Dell don't always update the intel drivers on laptops that might still technically be in the intel support window, but outside of Dell's own warranty. Because they require their intel drivers to be signed, there's no way to update to the fixed version of the drivers.  

But for a machine on windows 7 (10+ years old?), unfortunately it's likely out of support by intel and doesn't have the fixes in their more recent driver releases. 

 

0 Kudos