微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在旧硬件上使用 ArGIS API for JS 构建的 Web 应用程序性能不佳

如何解决在旧硬件上使用 ArGIS API for JS 构建的 Web 应用程序性能不佳

问题

我第一次使用 JS API 开发 Web 应用程序。在测试网站的性能时,我在相对较新的硬件(例如我的 Surface Laptop 3 8GB RAM、Chrome v88)上使用得非常快,但在有些较旧的硬件(MacBook Pro)上使用速度非常慢13" 2016 8GB RAM,MacBook Pro 15" 2014 8GB RAM,Dell Inspiron 15 5000 2017 8GB RAM,运行 Chrome v88。

链接到正在开发的网络应用程序:

https://dmarkbreiter.github.io/lau-interactive/

问题排查

考虑到这些“较旧”的硬件配置不是很旧,滞后的性能令人不安。起初,我认为可能是底图或要素服务拖慢了应用程序的速度,但当我在开发人员页面上测试 API 的示例应用程序时,我的性能同样下降。

以下链接的示例应用:

https://developers.arcgis.com/javascript/latest/sample-code/featurelayer-query/ https://esri.github.io/dot-density-legend/ https://livingatlas.arcgis.com/sea-ice/

上述应用程序在我的 Surface Laptop 3 上运行得非常好,但在其他测试过的硬件配置上绝对一瘸一拐。

更新 查看我自己的应用程序,我看到两个功能服务(LAU_Localities_ViewSoCal_Counties)在页面加载时有多个 GET 请求。我在下面列出了其中之一的 Query String Parameters

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,"ymax":3913575.8482029866},"mode":"view","originPosition":"upperLeft","tolerance":305.74811314062526}
resultType: tile
spatialRel: esriSpatialRelIntersects
geometryType: esriGeometryEnvelope
inSR: 102100

让我感到奇怪的第一件事是 3 的低 maxRecordCountFactor

问题

这是使用 API 构建的 Web 应用程序的预期行为/性能吗?

如果没有,我怎样才能使我的应用程序在各种硬件配置上的性能更高?即使在底图周围平移,在这个硬件上也会感觉和看起来不稳定。这是已知问题吗?如果是,是否有任何解决方法来确保在各种硬件上的可用性能

解决方法

问题似乎出在 Esri 的 WebGl 引擎上,并且它不能与机器的图形驱动程序一起使用,正如 基于 Chrome 的浏览器上的以下控制台警告所证明的那样:

[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]

当问题中链接的网络应用程序在 FireFox 86 上进行测试时,它们运行良好,并且没有出现上述警告。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。