| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Remove rendering functionality from Tile implementations.
|
| |
|
|
|
|
| |
Fixes #14993
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
- Removed this parameter from the constructor, now that we
have a method to set it.
- Add the method and enforce the limits if the ambient cache exceeds the
size.
|
|
|
|
|
| |
These methods were only affecting tiles, but they should really
work on every resource like style, glyphs, etc.
|
|
|
|
|
| |
Avoid confusion about what is being reset. In this case, the whole
database and not only the ambient cache.
|
| |
|
|
|
|
|
|
| |
Test if the physical size of the database will also reduce.
Clear the cache while adding resource on another connection.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Make the constructor less verbose and set good defaults.
|
|
|
|
|
|
|
| |
Make the distinction if a resource is being requested for offline
usage or if it will be used immediately.
Fixes #14746
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The change is implemented in TransformState::getProjMatrix, the rest of the code is making sure that existing API contracts stay and there are tests verifyingrendering and render query processing only items within screen and given tolerance around screen edges.
MapView: don't bake edge insets into relalculated camera center. Keep edge insets as property of camera in TransformState (similar to pitch, zoom, bearing) independent from specified camera center. Interpolate edge insets in animation.
iOS Demo app: "Turn On/Off Content Insets" pitch the camera and navigate to convenient location in Denver, where streets are parallel to cardinal directions, to illustrate viewport center offset when edge insets are set.
Tests:
ViewFrustumCulling: although Annotations are deprecated, queryRenderedFeatures related tests in Annotations would need to get ported and decided to add the edge insets related query tests next to them. Verify frustum culling (render+queryRenderedFeatures) With different camera and edge insets setups. TODO: port Annotations tests.
Transform.Padding: Verify that coordinates take proper place on screen after applying edge insets.
LocalGlyphRasterizer: verify text rendering when applying padding.
Related to #11882: both use projection matrix elements [8] and [9].
Alternative approach to this was to increase and offset map origin so that the screen would be a sub-rectangle in larger map viewport. This approach has a drawback of unecessary processing the items that are outside screen area.
Fixes #12107, #12728, navigation-sdks/issues/120
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The implementation is buggy and not worth maintaining anymore
because performance benefits are not substantial or sometimes
worse. Also, removing it saves about 150 ~ 180 KB in binary size.
Below timings are averages of minimum 5 runs.
```
Device Init launch Average relaunch
s10 1129.8 ms 700 ms
s10 - binary 1346.75 ms 694 ms
Pixel 1692 ms 723 ms
Pixel - binary 1883 ms 1039 ms
Kazam 17948 ms 1339 ms
Kazam - binary 19157 ms 1564 ms
Wiko 2060 ms 1278 ms
Wiko - binary 3876 ms 1136 ms
```
Fixes #14294
|
|
|
|
|
| |
Add handling of default value to the conversion of legacy identity
functions. The color and enum tests still don't pass though.
|
|
|
|
|
| |
Refactor out HeadlessFrontend and HeadlessBackend gl independent code to gfx.
Define gl::HeadlessBackend as subclass, instantiated by gfx::HeadlessBackend static factory method.
GL dependent tests are still using gl::HeadlessBackend directly (not through gfx).
|
| |
|
| |
|
|
|
|
| |
Thus we fix a potential bug: if `Renderer` outlives the `Map` it will hold a stale reference to the `FileSource` instance.
|
|
|
|
| |
Avoid unnecessary glyph manager presence check in `Renderer::Impl::()`.
|
|
|
|
|
|
|
|
|
|
| |
- Do not carry it over everywhere as parameter, it is a shared
instance anyway and the lifecycle is pretty much the app lifecycle
from the moment we instantiate a map.
- Rename to BackgroundScheduler because it is a Scheduler that will
do tasks in the background, we don't make assumptions if it is a
thread pool or a single thread.
- Most importantly, remove the dependency from `core` on `platform`.
|
|
|
|
|
|
|
|
|
| |
same thread
Before this change, ImageManger's 'done' callback for onStyleImageMissing observer
notification that was created on renderer thread, could be called from different thread,
therefore, is not thread safe. For example, on Android platform, callback was invoked
from UI thread. This change makes callback to be scheduled on originating thread.
|
|
|
|
| |
JSON keys in our style specification don't have a defined order. This change sorts them alphabetically so that we can rely on the order remaining them same across code generation runs.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This makes ImageRequestor API explicitly dependant on ImageManager, so that
ImageRequestor can unregister itself from ImageManager on destruction.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
| |
Also make `Style#updateImage(...)` much faster when the image doesn't change size. This can be useful for asynchronously generating images.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Before this change, symbol layer was only checking whether top level
'text-field' layout property expression is FormatExpression and if it
has paint property overrides. This change takes into account that
'text-field' might have nested expressions, thus, requires traversal
over child expressions.
Fixes: #14254
|
|
|
|
| |
Move pixelRatio property from Map constructor to MapOptions.
|