summaryrefslogtreecommitdiff
path: root/src/mbgl/renderer/tile_pyramid.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/renderer/tile_pyramid.cpp')
-rw-r--r--src/mbgl/renderer/tile_pyramid.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/mbgl/renderer/tile_pyramid.cpp b/src/mbgl/renderer/tile_pyramid.cpp
index 07239b7a1c..8f83a0f982 100644
--- a/src/mbgl/renderer/tile_pyramid.cpp
+++ b/src/mbgl/renderer/tile_pyramid.cpp
@@ -143,10 +143,13 @@ void TilePyramid::update(const std::vector<Immutable<style::Layer::Impl>>& layer
auto it = tiles.find(tileID);
return it == tiles.end() ? nullptr : it->second.get();
};
-
+
+ // The min and max zoom for TileRange are based on the updateRenderables algorithm.
+ // Tiles are created at the ideal tile zoom or at lower zoom levels. Child
+ // tiles are used from the cache, but not created.
optional<util::TileRange> tileRange = {};
if (bounds) {
- tileRange = util::TileRange::fromLatLngBounds(*bounds, std::min(tileZoom, (int32_t)zoomRange.max));
+ tileRange = util::TileRange::fromLatLngBounds(*bounds, zoomRange.min, std::min(tileZoom, (int32_t)zoomRange.max));
}
auto createTileFn = [&](const OverscaledTileID& tileID) -> Tile* {
if (tileRange && !tileRange->contains(tileID.canonical)) {
@@ -303,7 +306,7 @@ void TilePyramid::setCacheSize(size_t size) {
cache.setSize(size);
}
-void TilePyramid::onLowMemory() {
+void TilePyramid::reduceMemoryUse() {
cache.clear();
}