Skip to content

Commit

Permalink
Pull from the back of the list of tiles to overzoom, not the front (#149
Browse files Browse the repository at this point in the history
)
  • Loading branch information
e-n-f authored Oct 4, 2023
1 parent cc5c1c7 commit 0ca1408
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 7 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
# 2.34.1

* Further improvements to tile-join speed

# 2.34.0

* Improve speed of overzooming in tile-join
Expand Down
13 changes: 7 additions & 6 deletions tile-join.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -380,13 +380,14 @@ double max(double a, double b) {
struct tilecmp {
bool operator()(std::pair<unsigned, unsigned> const &a, std::pair<unsigned, unsigned> const &b) {
// must match behavior of tileset_reader::operator<()
// except backwards, since we are pulling from the end of the list

if (a.first < b.first) {
if (b.first < a.first) {
return true;
}
if (a.first == b.first) {
if (b.first == a.first) {
// Y sorts backwards, in TMS order
if (a.second > b.second) {
if (b.second > a.second) {
return true;
}
}
Expand Down Expand Up @@ -555,8 +556,8 @@ struct tileset_reader {
return;
}

auto xy = overzoomed_tiles.front();
overzoomed_tiles.erase(overzoomed_tiles.begin());
auto xy = overzoomed_tiles.back();
overzoomed_tiles.erase(overzoomed_tiles.begin() + overzoomed_tiles.size() - 1);

x = xy.first;
y = xy.second;
Expand Down Expand Up @@ -1061,7 +1062,7 @@ void decode(struct tileset_reader *readers, std::map<std::string, layermap_entry
// Then this tile is done and we can safely run the output queue.

if (readers == NULL || readers->zoom != current.first.z || readers->x != current.first.x || readers->y != current.first.y) {
if (tasks.size() > 10 * CPUS) {
if (tasks.size() > 100 * CPUS) {
dispatch_tasks(tasks, layermaps, outdb, outdir, header, mapping, exclude, include, ifmatched, keep_layers, remove_layers, filter, readers);
tasks.clear();
}
Expand Down
2 changes: 1 addition & 1 deletion version.hpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#ifndef VERSION_HPP
#define VERSION_HPP

#define VERSION "v2.34.0"
#define VERSION "v2.34.1"

#endif

0 comments on commit 0ca1408

Please sign in to comment.