Commit Graph

4179 Commits

Author SHA1 Message Date
Mikhail Pozdnyakov
646d4e3996 [core] Fixed formatting 2019-10-24 15:43:13 +03:00
Mikhail Pozdnyakov
424cf20207 [core] Revert coalescing requests to the client for the same missing image 2019-10-24 15:43:13 +03:00
Ansis Brammanis
4fb75ba32c [core] avoid edges for labels that use text-variable-anchors
to prevent clipped labels in rendered image tiles.
2019-10-24 15:39:10 +03:00
Ansis Brammanis
99feb9bb30 [core] fix collisions with icon-text-fit and variable placement (#15828)
port 61a61a1982cb8c637d467f91da5b0817a61a9de6
2019-10-22 20:30:55 -04:00
Mikko Pulkki
0ca96fd8a4 [render-test] Implement fps benchmarking tests (#15803) 2019-10-22 12:13:55 +03:00
Mikhail Pozdnyakov
057048b293 [core] Fix image requests for already obtained images
Before this change, repeated request for an already
obtained image was erroneously treated as pending.
2019-10-17 16:29:02 +03:00
Konstantin Käfer
2187980a87 [core] fix icon-text-fit
This fixes rendering by account for the 1px texture padding around icons that were stretched with icon-text-fit. We've added the 1px padding before, but didn't scale it accordingly when we are resizing the icon when it is stretched to fit the text. Adjusts the code to match the logic in GL JS.
2019-10-14 18:46:12 +02:00
Konstantin Käfer
9cac122c5c [core] map image type to string until we have a dedicated implementation 2019-10-14 18:46:12 +02:00
Jordan Kiley
e4e2a78033 Add iOS bindings for cluster properties (#15515) 2019-10-11 13:46:41 -07:00
Mikhail Pozdnyakov
2f973e9646 [core] Introduce Scheduler::bindOnce() and use it in ImageManager 2019-10-10 15:39:34 +03:00
Mikhail Pozdnyakov
71047ab853 [core] Disallow coalesced requests for patterns
Unlike icons, pattern changes are not caught with
style-diff meaning that the existing request could
be from the previous style and we cannot coalesce
requests for them.
2019-10-10 15:39:34 +03:00
Mikhail Pozdnyakov
76bbc42fa6 [core] Coalesce requests for the same missing image
This commit coalesces the repeated `onStyleImageMissing` calls
for the same image.

It also simplifies the image manager code.
2019-10-10 15:39:34 +03:00
Mikhail Pozdnyakov
f62e5b00c9 [core] Introduce Scheduler::makeWeakPtr() 2019-10-09 23:46:11 +03:00
Mikhail Pozdnyakov
23cebe20fe [core] Introduce SequencedScheduler and ParallelScheduler
This commit refactors `utils::ThreadPool` into a template
`ThreadedScheduler` class and provides aux type aliases.
So that it is possible to obtain a sequenced schedule,where
all the scheduled tasks are guarantied to be executed
consequently.

The sequenced lightweight scheduler is required by both the
orchestration thread and the refactored `FileSource` implementation.
2019-10-07 16:42:40 +03:00
Mikhail Pozdnyakov
bef635765a [core] Decouple Scheduler interface from actor model
So that it is possible to schedule normal `std::function` and use `mapbox::base::WeakPtr`.
2019-10-04 17:42:21 +03:00
Mikhail Pozdnyakov
064c60cdca [core] Orchestration performance for styles with multiple sources
RenderOrchestrator holds a vector of ordered rendered layers,
in order to minimize calling of `getRenderLayer()`, which
could be quite expensive as it calculates hash of the layer Id.

This change improves orchestration performance in particular
for the styles that have multiple sources.

The `API_renderStill_multiple_sources` benchmark runs
approximately 70% faster with the changes applied.
2019-10-04 13:16:54 +03:00
Ansis Brammanis
dfca8fb214 [core] fix opacity interpolation for composition expressions (#15738)
port https://github.com/mapbox/mapbox-gl-js/pull/8818
2019-10-02 13:49:33 -04:00
Mikhail Pozdnyakov
ff6a3ee5b7 [core] Suppress network requests for invisible tiles
If the render source does not need rendering, we set necessity for its tiles to `optional`, and thus suppress network requests on tiles expiration.
2019-10-02 20:45:46 +03:00
Mikhail Pozdnyakov
d90b2bb6dc [core] Introduce Light::getProperty() 2019-09-27 13:08:53 +03:00
Mikhail Pozdnyakov
5304bbc438 [core] Layer::getProperty supports layout properties 2019-09-27 13:08:53 +03:00
Mikhail Pozdnyakov
f3146e43cd [core] ValueFactory for expression::formatted, other improvements 2019-09-27 13:08:53 +03:00
Mikhail Pozdnyakov
34ab7be225 [core] Layer::getPaintProperty() -> Layer::getProperty() 2019-09-26 15:54:03 +03:00
Mikhail Pozdnyakov
1733e29f0a [core] Separate header for StyleProperty 2019-09-26 15:54:03 +03:00
Mikhail Pozdnyakov
e78c31c4b5 [core] LayerProperty -> StyleProperty 2019-09-26 11:57:39 +03:00
Mikhail Pozdnyakov
1d6660b552 [core] Fix clang format errors 2019-09-26 11:57:39 +03:00
Mikhail Pozdnyakov
c2dc873cf9 [core] Introduce Layer::getPaintProperty() generic getter 2019-09-26 11:57:39 +03:00
Mikhail Pozdnyakov
2b834001cc [core] type aliases and conversion traits for mapbox::base::Value 2019-09-26 11:57:39 +03:00
Alexander Shalamov
e5cdc4ecf3 [core][android][darwin] Move number format to i18n 2019-09-26 10:55:47 +03:00
Alexander Shalamov
9c8295c6a6 [core][android][darwin] Move platform specific Collator impls from expression
Platform specific Collator implementations should not be part of an expression APIs.
2019-09-26 10:55:47 +03:00
Thiago Marcos P. Santos
c7bbd5bbef [core] Fix performance-move-const-arg 2019-09-25 18:59:07 +03:00
Thiago Marcos P. Santos
3c23f6f9f7 [core] Fix bugprone-use-after-move
Luckily this is an enum and was being copied.
2019-09-25 18:59:07 +03:00
Thiago Marcos P. Santos
cf95bc2bb2 [build] Disable clang-format on generated code
Nice to have, but would make maintain the templates a lot harder.
2019-09-25 18:59:07 +03:00
Thiago Marcos P. Santos
3888af2460 [build] Move compression to platform
It depends on platform specific compression library.
2019-09-20 15:27:52 +03:00
Mikhail Pozdnyakov
097cf5fc39 [core] Clang format fix 2019-09-19 14:51:32 +03:00
Mikhail Pozdnyakov
f04efb69c0 [core] Immutable/Mutable pattern for Placement 2019-09-19 14:51:32 +03:00
Mikhail Pozdnyakov
870f306f68 [core] Update buckets in Renderer 2019-09-19 14:51:32 +03:00
Mikhail Pozdnyakov
f997ae00ae [core] Fix Placement constness
Update buckets methods do not mutate placement, placement methods do not mutate buckets.
2019-09-19 14:51:32 +03:00
Mikhail Pozdnyakov
30e659beed [core] Fix formatting 2019-09-18 16:21:59 +03:00
Mikhail Pozdnyakov
e3137d86d2 [core] Use LayerInfo::tileKind in sources 2019-09-18 16:21:59 +03:00
Mikhail Pozdnyakov
152d4c35fc [core] Add LayerTypeInfo::TileKind 2019-09-18 16:21:59 +03:00
Mikhail Pozdnyakov
224d49cc90 [core] Check layer compatibility with source 2019-09-18 16:21:59 +03:00
Juha Alanen
6b13c42314 [build] Fix clang format and tidy checks 2019-09-18 14:29:15 +03:00
Juha Alanen
48f462bc7b [core] Add removeFeatureState API 2019-09-18 14:29:15 +03:00
Juha Alanen
7ce9b0d47d [core] Feature state support to RenderLayer classes 2019-09-18 14:29:15 +03:00
Juha Alanen
598df1897d [core] Add feature state support to queryRenderedFeatures API 2019-09-18 14:29:15 +03:00
Juha Alanen
8e19be9d9c [core] Add support for set/getFeatureState APIs 2019-09-18 14:29:15 +03:00
Juha Alanen
46eab5f148 [core] Add SourceFeatureState class to handle feature states 2019-09-18 14:29:15 +03:00
Juha Alanen
1ac8e3c161 [core] Add setFeatureState API to Tile classes 2019-09-18 14:29:15 +03:00
Juha Alanen
413278ca20 [core] Add feature state support to bucket classes 2019-09-18 14:29:15 +03:00
Juha Alanen
91171bc1a9 [core] Add feature-state compound expression 2019-09-18 14:29:15 +03:00