Open kevpegan opened 5 years ago
@kevpegan that's very interesting. Shortly, if I understand it correct, you're saying coroutines doesn't work with custom tilesets? That obviously shouldn't happen. I wonder what your custom tileset looks like, any chance you can share it with me here or on private? (baran.kahyaoglu@mapbox.com)
my little suspicion is, we process a number of features every frame when coroutines are enabled but if your dataset is very optimizable, server might be merging them all into one feature and sdk is trying to process that one huge features in one frame. That's the first possibility I can think of at top of my head.
You can check for this as well, if you set a few breakpoints in layer visualizer
, you can find feature count in layer for example and probably why it doesn't create coroutines etc.
@brnkhy Yes it does seem like the couroutines arent working, at least in my case, I demonstrate here that the application freezes for a few seconds when the features need to be processed, and then if you look on the left screen you can see the entire cluster of 9 tiles renders all the features at the same time once it finishes. You can also see that I output the feature count in the Debug Log, and they appear to have more than 1 feature. Here is the link to the tileset: (kpegan.a43h8487).
Unity version: 2018.3.14f1 Scripting Runtime Version: .NET 4.x Scripting Backend: Mono Api Compatibility Level: .NET4.x Mapbox SDK version: 2.0.0 The platform you're building to: Windows A description of what you're trying to do: I am creating an interactive experience that allows users to slide on and off different datasets to view different environmental impacts in their state, it is meant to both educate people on how to use GIS software and display our impact on the environment.
My issue comes from the fact that some of the datasets we were provided with are rather large, containing around 30,000 features. The problem is that when the visualizers containing these datasets are active, any time a new tile that contains features from those datasets is being processed there is approximately a 6 second delay where the user is unable to do anything, and must wait for the tile(s) to finish processing. I have tried changing the entity per coroutine value but it had little effect. It always appears like the visualizer waits until it has completely finished processing all features before rendering them and allowing the application to resume. However, when I view the dataset in a style on mapbox studio, I am still able to move the map around while it is processing, which is the intended effect I am trying to achieve. Is there any setting I am missing that might allow the features to be rendered asynchronously?