Commit Graph

21 Commits

Author SHA1 Message Date
ahocevar
49dd5a4fd8 Merge pull request #1019 from ahocevar/chrome-optimized
Deal with recent Chrome optimizations to avoid failing TileManager and tests
2013-07-09 11:23:27 +02:00
ahocevar
d020e8f666 Merge pull request #1018 from ahocevar/tilemanager-image-only
UTFGrid examples broken because of TileManager. r=@bartvde
2013-07-09 11:22:52 +02:00
ahocevar
f4f72d5eeb TileManager dependency management
If the build does not contain TileManager.js, do not create a TileManager
instance for the map. If the build does not contain Layer/Grid.js, do not
try to add Grid layer instances to the list of layers managed by the
TileManager.
2013-06-07 09:08:30 +02:00
ahocevar
cd5ae45273 Do not manage cache when cached tile is on target layer's backbuffer 2013-05-24 12:06:58 +02:00
ahocevar
1d948fc914 Make sure that drawTilesFromQueue gets executed
For events other than move, the tile queue may not be populated yet when
updateTimeout is called. So instead of checking for the queue's length,
we register the timer unconditionally in these cases.
2013-05-17 13:15:01 +02:00
ahocevar
48efd43250 Bring back throttling for tile loading
In OpenLayers 2.12, only one tile was loaded per animation frame. This
change brings back something similar as part of the tile manager. But we
do not use requestAnimationFrame anymore, because @elemoine pointed out
that browsers may give requestAnimationFrame invoked functions a higher
priority than setTimeout invoked functions.

The reason for this change is
http://lists.osgeo.org/pipermail/openlayers-users/2013-April/028063.html.
2013-04-29 14:20:18 +02:00
Bart van den Eijnden
09d1b9e8ca the tileQueue is not always cleared, for instance when adding a layer in GeoExplorer and then switching base layers, so make sure we also clear the tileQueue when the visibility of a layer changes 2013-02-08 14:02:20 +01:00
ahocevar
7936f0345f Tile images should not have an id
When the TileManager adds an image to its cache, it might be a backbuffer
image. Backbuffer images have an id with a '_bb' postfix. Regular images
do not have an id at all. In OpenLayers.Layer.Grid, in
addTileMonitoringHooks, a loadend listener is created for each tile. This
listener checks for tie image id, and will remove it from its parent node.
This will cause images to be removed from the layerDiv if the image comes
from the TileManager's tileCache and was on a backbuffer by the time it was
added to the cache.

Simply removing the image's id before assigning it to a tile resolves the
issue.
2013-02-07 16:44:16 +01:00
Marc Jansen
a34e627b75 Remove dangling space in license header. 2013-02-07 10:33:20 +01:00
ahocevar
378a0e97b5 Uncache images that are no longer valid
When a layer sets a cached image's className to something else than
.olTileImage (e.g. by setting .olTileReplacing), we should not keep the
image in the cache any more, because it may no longer be valid.
2013-02-01 00:58:40 +01:00
ahocevar
e23c18a09c Process queue immediately when params change
This fixes an issue where the queue would never be processed when a layer
is updated using mergeNewParams.
2013-01-16 12:09:37 +01:00
Tim Schaub
bbc73a21d8 Update copyright date 2013-01-07 22:01:16 -05:00
ahocevar
4a3651b7da Release notes and additional in-line comment
As suggested by @bartvde.
2013-01-07 15:30:05 +01:00
ahocevar
80f13188a3 Addressing @bartvde's review comments 2013-01-07 14:26:41 +01:00
ahocevar
64177a52ec Enable fade-in for tiles from cache when we have a backbuffer 2012-12-23 17:00:47 +01:00
ahocevar
a02e08ad2a New beforeload event and slightly changed loading sequence
Having the TileManager remove an image from the DOM, then setting the
cached image, and then having to position it felt a bit awkward. With the
new beforeload event, the setImage method and putting renderTile before
positionTile, providing the cached image feels way more natural.
2012-12-23 17:00:46 +01:00
ahocevar
64df7e3d04 Remove images from dom when replacing them with cached images 2012-12-23 17:00:46 +01:00
ahocevar
faa0e60b99 512 tiles is too much for some mobile browsers 2012-12-23 17:00:46 +01:00
ahocevar
781f2ac73d Configure maps with TileManger instances (and not the other way around)
This resolves issues with destroying caches on window unload, and makes
cache sharing among maps less confusing to configure.
2012-12-23 17:00:45 +01:00
ahocevar
9609bb1449 Adding destroy method, as suggested by @bartvde 2012-12-23 17:00:45 +01:00
ahocevar
80fa251649 New TileManager
This removes all tile queueing/loading specific code from Layer.Grid
and creates a new class that manages tile loading and caching.
2012-12-23 17:00:45 +01:00