Stop processing SymbolBuckets at the first incomplete bucket
In order to calculate the collision correctly, the layer ordering matters. Because of that, when we find the first incomplete symbol bucket, we stop processing any furter SymbolBucket. The side effect of this change is, if the first SymbolBucket is the last to receive its resources, we won't see any label at all on the screen until the last moment, when everything will be draw at once.
This commit is contained in:
committed by
Konstantin Käfer
parent
af63b4980d
commit
3b92725de1
@@ -118,6 +118,10 @@ std::unique_ptr<Bucket> TileParser::createBucket(const StyleBucket &bucketDesc)
|
||||
} else if (bucketDesc.type == StyleLayerType::Line) {
|
||||
return createLineBucket(*layer, bucketDesc);
|
||||
} else if (bucketDesc.type == StyleLayerType::Symbol) {
|
||||
if (partialParse) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
bool needsResources = false;
|
||||
auto symbolBucket = createSymbolBucket(*layer, bucketDesc, needsResources);
|
||||
if (needsResources) {
|
||||
|
||||
Reference in New Issue
Block a user