AnsweredAssumed Answered

identifyLayersWithMaxResults - prioritize over extent queries?

Question asked by on Sep 28, 2020
Latest reply on Sep 28, 2020 by jballard-esristaff

I had submitted a question about extent queries (Tile-based feature requests for extent - any way to revert to standard?) and wanted to follow up separately on the question about identify performance.


A typical use case of our users is following lines/features on a map to get to the endpoint where another feature exists. Then they click on that feature to load its full details. We use QML MapView identifyLayersWithMaxResults at that mouse point. It appears identify doesn't execute the object query to the server until all outstanding extent queries finish, which to the user just looks like delay when the feature they want is already visible.


James Ballard had replied on the linked post that runtime uses QNetworkAccessManager internally, which is why we are seeing HTTP requests queued. I'm assuming that identify queries are not any different and get added to the end of the queue. Is that accurate?


Is there any way to prioritize the identify queries over the outstanding extent queries?


If instead of identifyLayersWithMaxResults, we would use identify for individual layers, would it make any difference, or are they just stacked on the queue anyway?


In the past we asked whether identify could query the local cache instead of querying for the full object (How to avoid full query with identify) but the answer was not possible without using manual cache. I still think this would be a good enhancement and we will submit the feature request.


Thanks! Identify performance is one of the main issues that our users have. We get user complaints on this frequently, that identify appears to "hang" and not respond after panning the map. Please let me know if there are any options we have to improve this. Thanks!