diff options
author | Aleksandar Stojiljkovic <aleksandar.stojiljkovic@mapbox.com> | 2019-07-24 18:08:11 +0300 |
---|---|---|
committer | Aleksandar Stojiljkovic <aleksandar.stojiljkovic@mapbox.com> | 2019-07-24 18:56:58 +0300 |
commit | 94903d5cbb0fbbe1ddc090a62e5bf5b90094ad8f (patch) | |
tree | 62ec1fea896246e63a65c10634ca11db12c2f2c9 /platform/darwin/src/MGLConversion.h | |
parent | 5955610356cf405b7cb698a899b05f305021d41e (diff) | |
download | qtlocation-mapboxgl-upstream/astojilj-tileCover.tar.gz |
util::tileCover optimization: three scans and no duplicates handling.upstream/astojilj-tileCover
TileCover: Replaced 4 scanSpans by 3. As the split lines (triangle, trapezoid, triangle) is horizontal, there is no need to handle duplicates.
Benchmarks (release build) on MacBookPro11,2 (Mid 2014) with Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz compared against src/mbgl/util/tile_cover.cpp from master and from the patch:
```
master | patch
---------------------
TileCoverPitchedViewport 72000ns | 50300ns
TileCoverBounds 1620ns | 1400ns
```
TileCoverPitchedViewport modified to have pitch capped by targe top inset, returning 1124 tiles at zoom level 8.
TileCover.PitchOverAllowedByContentInsets test verifies pitch capping by large top inset. Expectation was calculated using previous tileCover algorithm implementation.
Related to: #15163
Diffstat (limited to 'platform/darwin/src/MGLConversion.h')
0 files changed, 0 insertions, 0 deletions