3D Scene View slow with ES modules from 4.21

1495
12
Jump to solution
03-03-2022 08:23 PM
VictorBerchet
Occasional Contributor

My app uses the JS API.

I am trying to switch from the esri-loader to ES modules as described in the docs.

However the speed of my app is drastically slower when using the 4.22.2 package.

With esri-loader: https://flyxc.app/?3d=

With ES modules 4.22.2: https://20220303t135459-dot-fly-xc.uc.r.appspot.com/3d

Everything seems to be slower: loading tiles, geometries.

I have tried different versions of the NPM package. 4.20.2 actually works fine and the speed is great. The problem occurs from 4.21.2.

Does anybody experience similar issues or have an idea of what could go wrong / what to check ?

(I am using chrome and see no errors in the console).  

Tags (3)
0 Kudos
3 Solutions

Accepted Solutions
VictorBerchet
Occasional Contributor

It seems like this has been resolved in 4.23.7

View solution in original post

0 Kudos
VictorBerchet
Occasional Contributor

I am actually still having problem in Chrome and have to switch back to 4.19 (Safari looks faster)

View solution in original post

0 Kudos
ArnoFiva
Esri Contributor

Hi Victor, unfortunately we've been seeing the same issues with older MacBooks. It's not reliably reproducible, updating the OS or browser seems to have an effect. Also it's not just our API that's effected, other 3D applications relying on WebGL (e.g. Three.js samples) also show poor performance - usually depending on the complexity of the scene.

One workaround for this specific line of hardware appears to be setting the WebGL version to 1, you can do this at the beginning of your application code through https://developers.arcgis.com/javascript/latest/api-reference/esri-views-3d-externalRenderers.html#f...

Let me know if this helps. I'm a big fan of your paraglider app, would be nice to talk about it sometime! 

View solution in original post

12 Replies
VictorBerchet
Occasional Contributor

It seems like to be related to glb rendering. If you add a model to the scene then it will slow down dramatically, whether or nor the model is actually visible in the view.

 

 

0 Kudos
VictorBerchet
Occasional Contributor

There is an easy reproduction by using the codepen in https://developers.arcgis.com/javascript/latest/sample-code/import-gltf/

The app is very slow when you launch it.
Replacing the 4.22 version by 4.20 make it much snappier.

0 Kudos
VictorBerchet
Occasional Contributor

Still not fixed in 4.23

0 Kudos
VictorBerchet
Occasional Contributor

It seems like this has been resolved in 4.23.7

0 Kudos
VictorBerchet
Occasional Contributor

I am actually still having problem in Chrome and have to switch back to 4.19 (Safari looks faster)

0 Kudos
TonyGraham
New Contributor III

I see this as well.

On a MacBook Pro (Monterey 12.2), I get extremely slow performance of that example using Chrome 102.0.5005.115 (unless I downgrade to ArcGIS 4.20).  In particular, dragging the map is slow.  Oddly, it runs much faster on Safari 15.3 (even with ArcGIS 4.23).

Other SceneViews I use seem likewise slow.

0 Kudos
ArnoFiva
Esri Contributor

Hi Victor, unfortunately we've been seeing the same issues with older MacBooks. It's not reliably reproducible, updating the OS or browser seems to have an effect. Also it's not just our API that's effected, other 3D applications relying on WebGL (e.g. Three.js samples) also show poor performance - usually depending on the complexity of the scene.

One workaround for this specific line of hardware appears to be setting the WebGL version to 1, you can do this at the beginning of your application code through https://developers.arcgis.com/javascript/latest/api-reference/esri-views-3d-externalRenderers.html#f...

Let me know if this helps. I'm a big fan of your paraglider app, would be nice to talk about it sometime! 

VictorBerchet
Occasional Contributor

Hey Arno,

Thanks a lot for the detailed response.

As I understand the workaround is to stick to webGL1 for the time being. Would there be any drawbacks of doing that? (ie missing features)

From your link I think your plan is to phase out webGL1 at some point but using it would allow continuing to support bogus hw for now.

Thanks a lot for offering this great API!

0 Kudos
ArnoFiva
Esri Contributor

Hi Victor

No drawbacks from using WebGL1 now, but you are right the plan is to drop support for it in an upcoming release. We are looking into the issue and trying to find a solution on our side before that happens.

Hope this helps,

Arno

0 Kudos