Commit Graph

133 Commits

Author SHA1 Message Date
Sascha L. Teichmann
41187af7db Replaced one sync.Pool with a scratch byte arrary in redis client. 2017-03-02 10:57:03 +01:00
Sascha L. Teichmann
956f7b5e8b Factored YOrder out of Renderer as it is only an optimization and not directly related to the rendering. 2017-03-01 15:05:51 +01:00
Sascha L. Teichmann
75aeb36c95 Optimize the inner loop of the renderer to save some cycles by hoisting out version checks and common indexing. 2017-03-01 13:06:51 +01:00
Sascha L. Teichmann
08d32826dc Increased readability of block content extraction a tiny bit. 2017-03-01 11:41:21 +01:00
Sascha L. Teichmann
7fca02e45f Unified pooling for redis client in hspatial requests. 2017-02-28 18:50:45 +01:00
Sascha L. Teichmann
3ba10aa00a Cosmetic: x[0:n] -> x[:n]. 2017-02-28 00:39:03 +01:00
Sascha L. Teichmann
5def145564 The block data from the redis server in of the HSPATIAL requests is now recycled with a sync.Pool. Removes some pressure from the gc. 2017-02-28 00:33:59 +01:00
Sascha L. Teichmann
d6411f3f6d Implement renderer reset cheaper ... and this time correctly. 2017-02-27 23:50:15 +01:00
Sascha L. Teichmann
eed91e7148 Comment out early stop in renderer reset as it results in broken renderings. 2017-02-27 20:47:23 +01:00
Sascha L. Teichmann
58d930e1d2 Only clear renderer if necessary. 2017-02-27 20:10:49 +01:00
Sascha L. Teichmann
ba43353488 Bumped version to 0.8 2017-02-26 21:51:49 +01:00
Sascha L. Teichmann
12cfd32ad5 Use blake2b instead of sha1 to check for identical tiles to not regenerate the tiles pyramid. 2017-02-26 21:47:50 +01:00
Sascha L. Teichmann
ca634f28ef Simplified area coverage calculation a great deal. 2017-02-26 17:01:15 +01:00
Sascha L. Teichmann
4b92a6c722 Do not leave the current area when re-checking the coverage area. 2017-02-26 13:21:39 +01:00
Sascha L. Teichmann
003ce5035a Moved area coverage stuff out of renderer. It is an optimization to load
only needed blocks from db and has nothing to do with rendering.
2017-02-26 13:13:19 +01:00
Sascha L. Teichmann
3e3413566b Only do expensive area coverage calculation if there where blocks loaded from database.
If there are not, nothing changed, so nothing to recalculate.
Takes a good deal from the clock.
2017-02-26 12:57:38 +01:00
Sascha L. Teichmann
7f78feb9bd Replaced expensive fmt.Sscanf call in redis client with strconv.ParseInt. 2017-02-25 19:29:27 +01:00
Sascha L. Teichmann
228bd9026b Added a recyling pool for bulk strings written in redis client to help performance. 2017-02-25 17:00:17 +01:00
Sascha L. Teichmann
b2ca97568e Call better suited strconv.AppendInt when converting keys to byte slices. 2017-02-25 00:11:03 +01:00
Sascha L. Teichmann
b6bfe468b7 For symmetry inline readline function in redis client. 2017-02-24 21:23:04 +01:00
Sascha L. Teichmann
744208ba00 Removed superfluous error checking in redis client. 2017-02-24 19:54:19 +01:00
Sascha L. Teichmann
3c2ab551f1 Opitimized writing redis hspatial queries a bit. 2017-02-24 19:49:08 +01:00
Sascha L. Teichmann
b0a42867d8 Improved performance of Renderer.Reset by factor of 2. 2017-02-24 17:59:41 +01:00
Sascha L. Teichmann
c167efecd2 Content and parameters width seems to be 255 instead of 2 in new block format. This is strange becaus they are set hard to 2 in mapblock.cpp#MapBlock::serialize. 2017-02-24 12:02:06 +01:00
Sascha L. Teichmann
90279506d1 Ported new map block offset in version >= 27 from C++ mapper.
Needs testing.
See 21444d00c3
2017-02-23 16:08:16 +01:00
Sascha L. Teichmann
599ec1cf2b Set version to 0.7 2016-05-13 16:46:06 +02:00
Sascha L. Teichmann
674912ed5f Test linked list in both directions in base tile hash. 2016-05-11 18:43:20 +02:00
Sascha L. Teichmann
9a355d08fd Typo fix. 2016-05-11 12:02:36 +02:00
Sascha L. Teichmann
a0d38b7ce6 Made go vet happy on test of base tile hashing. 2016-05-11 12:01:39 +02:00
Sascha L. Teichmann
ef1a2de98e Fixed toFront opertaion in LRU logic of base tile hashing. Tests now pass. 2016-05-11 11:49:53 +02:00
Sascha L. Teichmann
ed41cfbe01 Made test less spammy. 2016-05-11 11:43:38 +02:00
Sascha L. Teichmann
b257a60b2d Improved tests of base tile hash. They fail. TODO: Fix bugs in base tile hash. 2016-05-11 11:39:50 +02:00
Sascha L. Teichmann
bae7e7c3e6 Made size of hashes LRU cache a parameter set by the webmapper. 2016-05-10 21:02:16 +02:00
Sascha L. Teichmann
69ee5af388 Implemented a simple LRU cache with max 256 entries for base tile hasing. TODO: Improve test. 2016-05-10 18:57:14 +02:00
Sascha L. Teichmann
b59f849d73 Make go vet happy. 2016-05-08 18:03:13 +02:00
Sascha L. Teichmann
fad16a58e8 Write tile coord if it is unchanged not the file path to the base tile. 2016-05-08 17:43:48 +02:00
Sascha L. Teichmann
398c52f8a5 Removed unnecessary general code. 2016-05-08 17:33:51 +02:00
Sascha L. Teichmann
792aae99d7 Simplified tile hash. 2016-05-08 17:22:04 +02:00
Sascha L. Teichmann
0900bd16ce Finished logic to supress pyramid regeneration in mtwebmapper. Untested. 2016-05-08 15:38:50 +02:00
Sascha L. Teichmann
5ee3731a27 Started with experimental hashing of base tiles to avoid redundant write operations and pyramid updates. 2016-05-08 12:33:17 +02:00
Sascha L. Teichmann
67a16e2d3e Unexport render internal methods. 2016-04-24 13:31:13 +02:00
Sascha L. Teichmann
8c459d05de Removed dead code. 2016-04-24 12:55:17 +02:00
Sascha L. Teichmann
ea57c7c35f Silence all warnings of golint not related to missing comments. 2016-04-24 12:41:58 +02:00
Sascha L. Teichmann
607b4de9ec Dedup code. 2016-04-23 21:09:23 +02:00
Sascha L. Teichmann
0db9b519a6 Implement fetaure request issue #17
mtseeder and mtwebmapper got an option to set the background color where no nodes are generated, yet.
2016-04-23 16:45:33 +02:00
Sascha L. Teichmann
b5f531b0ba Before Go 1.7 there is an extra offset needed to decode blocks correctly
after the embedded compressed data. In post 1.7 this bug was fixed.
We use build tags here to support both cases.
2016-04-08 23:40:36 +02:00
Sascha L. Teichmann
384c11659e version 0.6 2015-12-26 18:19:03 +01:00
Sascha L. Teichmann
f658d12641 Use github.com/bamiaux/rez instead of github.com/nfnt/resize for resampling the pyramid tiles. It is much faster but needs some testing. 2015-12-25 22:07:54 +01:00
Sascha L. Teichmann
6ae5936de9 Be more verbose if image decoding failed. 2015-08-24 10:58:46 +02:00
Sascha L. Teichmann
08031f1dcd Do more boundary checks in block decoding. 2015-08-24 10:45:28 +02:00