Commit Graph

20 Commits

Author SHA1 Message Date
Andreas Hocevar
80f10ce824 Avoid unnecessary calculation in loops 2015-12-17 00:17:28 +01:00
Andreas Hocevar
4f2df30f1d Avoid clipping by rendering tiles with rotated labels
This only works when the device pixel ratio is 1. Labels are incorrectly
positioned and not at all rotated for other pixel ratios. I cannot find the
cause for this problem.
2015-12-17 00:17:27 +01:00
Andreas Hocevar
c1b16217f2 Conditionally render tiles to a separate tile canvas
Because clip geometries are anti-aliased in most browsers, there will be tiny
gaps between tiles. If tiles are rendered to a tile canvas which is then drawn
to the map canvas upon composition, these gaps can be avoided. For rotated
views, it is stil necessary to clip the tile, but in this case a 1-pixel
buffer is used.

This change also brings a huge performance improvement for panning, because
the fully rendered tiles can be reused.

Because of the added cost of using drawImage in addition to replaying the tile
replay group, we fall back to directly drawing to the map canvas when the tile
canvas would be too large, or during interaction/animation when resolution or
rotation change.
2015-12-17 00:17:27 +01:00
Bart van den Eijnden
25e0053a13 Rename defaultSort to numberSafeCompareFunction on ol.array 2015-12-16 13:40:05 +01:00
Bart van den Eijnden
e0be143ed5 Always pass on a compare function to sort 2015-12-16 10:54:46 +01:00
Frederic Junod
bfd33becbc Remove unused local variables 2015-11-17 10:20:40 +01:00
Frederic Junod
764875147a Remove unused local variables 2015-11-17 09:57:56 +01:00
Tim Schaub
e8c99e4e63 Allow style function to return a style 2015-11-11 17:21:24 -07:00
Andreas Hocevar
5d264d2bf0 Remove right-handed polygon handling in renderer
Since ol.render.Feature assumes right-handed polygons anyway, this
extra optimization is not needed.
2015-10-28 10:29:04 +01:00
Andreas Hocevar
5832943773 Make changes suggested during the review 2015-10-28 10:29:04 +01:00
Andreas Hocevar
2b2ac47b1f Remove ol.source.TileVector 2015-10-28 10:29:04 +01:00
Andreas Hocevar
80fa26ddd8 Reduce the use of goog.* 2015-10-28 10:29:03 +01:00
Andreas Hocevar
656023e569 Use new createLoadedTileFinder signature
The signature of this method was changed with the introduction of
raster reprojection.
2015-10-28 10:29:03 +01:00
Andreas Hocevar
0e8e104a2d Handle righthanded polygons in format, not source 2015-10-28 10:29:02 +01:00
Andreas Hocevar
29b64d8628 Improve readability and reduce garbage creation 2015-10-28 10:29:02 +01:00
Andreas Hocevar
bda3a6803c Use tiles with lower or same resolution as view 2015-10-28 10:29:02 +01:00
Andreas Hocevar
9df280a884 Handle dirty tiles properly 2015-10-28 10:29:02 +01:00
Andreas Hocevar
6e2f82c397 Introduce ol.render.Feature 2015-10-28 10:29:02 +01:00
Andreas Hocevar
dbedbc19ee Create replay group for the tile's native resolution only 2015-10-28 10:29:01 +01:00
Andreas Hocevar
4b942bc4f6 Add VectorTile renderer 2015-10-28 10:29:01 +01:00