Commit Graph

15524 Commits

Author SHA1 Message Date
Alexander Shalamov
12d350ec3c Revert "[core] Fix excessive onSpriteLoaded() notifications"
This reverts commit 80cb05420a.
2020-02-14 11:54:02 +02:00
Mikhail Pozdnyakov
d3535f1ca9 Add change log entry 2020-02-12 20:49:26 +02:00
Mikhail Pozdnyakov
80cb05420a [core] Fix excessive onSpriteLoaded() notifications
What happened:

The excessive `onSpriteLoaded()` notifications were caused by the trick inside `OnlineFileRequest::completed()` implemenation,
which causes receving of two file source updates pointing to the *same* data in case the network response is `notModified` and
the local storage has the sprite sheet already stored inside.

In the SpriteLoader` implementation, it resulted in 2 extra `parseSprite()` calls and 2 extra `onSpriteLoaded()` notifications.

Then, the excessive `onSpriteLoaded()` notifications affected style images and all the unnecessarily added image dupes (btw,
the amount of these dupes `= 2 * number of style images`) were treated by the `RenderOrchestrator` as *updated* images.

Further, `RenderOrchestrator` called `ImageManager::updateImage()` for the updated images and the `ImageManager` populated the
`updatedImageVersions` map.

Finally, at every frame all the geometry tiles iterated through the `updatedImageVersions` to check whether their uploaded
textures needed patching.

All the mentioned above had a negative performance impact.

The fix:

Now, `SpriteLoader` sends `onSpriteLoaded()` notifications only if the data in the file source response is different comparing
to the existing one.
2020-02-12 20:49:26 +02:00
Alexander Shalamov
efb7dd0b7b [core] Use atomic int in Map.PrefetchDelta* unit tests 2020-02-12 20:43:24 +02:00
zmiao
acd45edd2f Add Changelog entry for within expression usage with layout property 2020-02-12 17:35:18 +02:00
zmiao
8e0c9671ba [metrics] Add new metric baselines 2020-02-12 17:35:18 +02:00
zmiao
759dfe8bf6 [core] Support [within expression] with layout property 2020-02-12 17:35:18 +02:00
zmiao
c57af51842 Add Changelog entry for within expression usage with paint property and filter expression 2020-02-12 12:24:05 +02:00
zmiao
7fda6ecad3 reserve vecotr capacity, fix for points within polygon
Address review findings/nit
2020-02-12 12:24:05 +02:00
zmiao
4579e1d6c4 Add metric baselines for within expression/render tests 2020-02-12 12:24:05 +02:00
zmiao
f4250afd24 Update baselines 2020-02-12 12:24:05 +02:00
zmiao
2963afa010 Add support for expression test
Fix polygon within algorithm
Add Unit tests

Fix incorrect metrics folder for ios-render-test-runner job
2020-02-12 12:24:05 +02:00
zmiao
1bd2ccf239 Enable within expression with Filter
add canonical as pointer

fix review findings
2020-02-12 12:24:05 +02:00
zmiao
3e99c08ea6 Enable parse within expression
Add geometry type checker
2020-02-12 12:24:05 +02:00
Ansis Brammanis
4f18d5fa92 [core] sort symbols using symbol-sort-key before placement (#16023)
fix #15964
partially port mapbox/mapbox-gl-js#9054
2020-02-11 11:24:14 -05:00
Mikhail Pozdnyakov
98f99e0743 Update metrics 2020-02-11 14:34:46 +02:00
Mikhail Pozdnyakov
c4bbc994da Add change log entries 2020-02-11 14:34:46 +02:00
Mikhail Pozdnyakov
3bd2d0e4d7 style::Style::getImage() returns optional<style::Image> 2020-02-11 14:34:46 +02:00
Mikhail Pozdnyakov
f38330a9f5 Add Style.AddRemoveImage unit test 2020-02-11 14:34:46 +02:00
Mikhail Pozdnyakov
64e2bcdf43 [core] Loading images to style optimization
This change enables attaching images to the style with batches and
avoids massive re-allocations. Thus, it improves UI performance
especially at start-up time.
2020-02-11 14:34:46 +02:00
zmiao
146e0ac8ed Add new metric baselines 2020-02-11 11:05:18 +02:00
zmiao
7424c4eecb Bump GL-JS
Backport GL-JS fix 'Hide glyphs behind the camera'(https://github.com/mapbox/mapbox-gl-js/pull/9229)
2020-02-11 11:05:18 +02:00
Alexander Shalamov
e0b1642825 [core] Update changelog 2020-02-11 10:40:30 +02:00
Alexander Shalamov
0475c89140 [core] Update baselines 2020-02-11 10:40:30 +02:00
Alexander Shalamov
3b1a8b8c30 [core] Add unit test for Source::setPrefetchZoomDelta
Test verifies that tile pyramid will request only 4 tiles for
current zoom level, if Source's setPrefetchZoomDelta is 0.
2020-02-11 10:40:30 +02:00
Alexander Shalamov
07c0c63fda [core] Clear tile pyramid for custom source only if there is a significant change
Clear tile pyramid only if updated source has different tile options,
zoom range or initialization state for a custom tile loader.
2020-02-11 10:40:30 +02:00
Alexander Shalamov
ac50f5275b [core] Make CustomGeometrySource::TileOptions immutable 2020-02-11 10:40:30 +02:00
Alexander Shalamov
def38cf4db [core] Override default prefetch delta if source has it's own setting 2020-02-11 10:40:30 +02:00
Alexander Shalamov
fce4129435 [core] Add runtime API for setting tile prefetch delta for Source
New setPrefetchZoomDelta(optional<uint8_t> delta) method allow overriding
default tile prefetch setting that is defined by the Map instance. The
method can be moved to generic style specification if found to be useful
for gl-js engine.
2020-02-11 10:40:30 +02:00
Ansis Brammanis
a231005860 fix submodule update command (#16186) 2020-02-10 10:00:11 -05:00
Thiago Marcos P. Santos
97cab6365b [documentation] Updated README and DEVELOPING
To reflect changes in the buildsystem.
2020-02-07 20:12:44 +02:00
Thiago Marcos P. Santos
021e48f35e [build] Run cmake-format on all the CMake files
Unify and enforce a CMake coding style.
2020-02-07 20:12:44 +02:00
Thiago Marcos P. Santos
47f2b20435 [build] Remove unused files
Buck build is no longer needed, neither is the previous
CMake buildsystem.
2020-02-07 20:12:44 +02:00
Thiago Marcos P. Santos
f7fef70e9d [build] Move the next buildsystem to the root
This will make the `next` buildsystem no longer the `next`, but the
`actual`. The idea is to simplify the build, removing scripts, to
make the platform buildsystem generated by CMake more compatible
with IDEs and make development more streamlined. It will also make
cross compilation easier.
2020-02-07 20:12:44 +02:00
Mikhail Pozdnyakov
489adb8d87 Add change log entry 2020-02-07 14:39:03 +02:00
Mikhail Pozdnyakov
bdd7324d62 Add OfflineDatabase.UpdateDatabaseReadOnlyMode unit test 2020-02-07 14:39:03 +02:00
Mikhail Pozdnyakov
2365cab58c Add OfflineDatabase.PutResourceReadOnlyMode unit test 2020-02-07 14:39:03 +02:00
Mikhail Pozdnyakov
c04551a4e3 Expose READ_ONLY_MODE_KEY property for DatabaseFileSource 2020-02-07 14:39:03 +02:00
Alexander Shalamov
d915e7748a [core] Update changelog 2020-02-06 23:54:19 +02:00
Alexander Shalamov
534003495b [core] Switch unordered_map to map
Change container types where number of elements expected
to be rather small. For instance, number of offline packs
or sql statements.
2020-02-06 23:54:19 +02:00
Alexander Shalamov
bb85ec442d [core] Add hooks for setting experimental thread priorities for mbgl threads 2020-02-06 23:54:19 +02:00
Alexander Shalamov
4be2fa4f9a [core] Add platform::setCurrentThreadPriority(double) 2020-02-06 23:54:19 +02:00
Alexander Shalamov
5789faf11a [core] Add unit test for global settings object 2020-02-06 23:54:19 +02:00
Alexander Shalamov
f30aec6c1a [core] Add global settings object 2020-02-06 23:54:19 +02:00
Juha Alanen
d4d96fd88c [test] Enable HTTP server on Android 2020-02-06 17:52:12 +02:00
Juha Alanen
aed25c0438 [test] Improve the stability of a test on Android 2020-02-06 17:52:12 +02:00
Juha Alanen
ce5b7ad113 [android] Implement watch handler in RunLoop 2020-02-06 17:52:12 +02:00
Juha Alanen
38d80dd3e1 [build] Add curl-android-ios submodule
Static libcurl to be used in Android and iOS apps.

Used for testing.
2020-02-06 17:52:12 +02:00
Preston A Elder
c28ffe0d4a Made number format work for newer versions of ICU (#16176) 2020-02-04 12:23:57 -05:00
Alexander Shalamov
86cd344bbe [core] Prepare changelog for maps-v1.0.1 (2020.01-release-unicorn) patch release 2020-02-03 22:28:34 +02:00