[OpenLayers-Dev] Towards slick panning and animated zooming

Andreas Hocevar ahocevar at opengeo.org
Fri Dec 21 07:32:26 PST 2012

For those of you who want to test, the live example site also provides
all examples that OpenLayers ships with, and you can test
with your own applications. Note that the TileManager is not enabled
by default. To add it, configure your map with the following option:

    tileManager: new OpenLayers.TileManager()

The whole source code is available at


On Fri, Dec 21, 2012 at 12:46 PM, Andreas Hocevar <ahocevar at opengeo.org> wrote:
> I added another pull request that is used in my mobile-wmts-vienna
> branch and in the live exymple now:
> https://github.com/openlayers/openlayers/pull/810
> Use transitionend listeners where available. Should be easy to review.
> Andreas.
> On Wed, Dec 19, 2012 at 9:41 AM, Andreas Hocevar <ahocevar at opengeo.org> wrote:
>> Hey fellow developers,
>> I don't know if you saw the enthusiastic tweets (e.g.
>> https://twitter.com/19_norte/status/281134258725199875), but
>> http://ahocevar.github.com/openlayers/mobile-wmts-vienna/examples/mobile-wmts-vienna.html
>> shows the improvements in tile rendering we can get with four pull
>> requests. All these pull requests have been thoroughly tested, and are
>> the result of client work at OpenGeo. To bring these improvements into
>> master, I am asking for reviews:
>> http://github.com/openlayers/openlayers/pull/702
>> New tile image cache and tile queue improvements. This pull request
>> gets rid of the current tile queue, which I know many people were
>> unhappy with. It adds a new TileManager class, which delays tile
>> loading for panning (replacement for previous tileLoadingDelay in
>> Layer.Grid) and zooming to avoid unnecessary tile image requests. It
>> also keeps references to image elements, so they can be reused when
>> the user pans or zooms back to regions or zoom levels that were
>> already visited.
>> http://github.com/openlayers/openlayers/pull/800
>> Use translate3d to enable GPU support where available. This introduces
>> an applyTransform method on the map, which will use an appropriate
>> positioning method for the layerContainerDiv. Without any transform3d
>> styles on the layerContainerDiv, style.left and style.top will be used
>> just like we currently do, and scale transforms will be used for
>> scaling. But with a translate3d style on the layerContainerDiv, all
>> positioning is made with translate3d, and scaling is done with
>> scale3d. By doing so, the GPU kicks in and brings greatly improved
>> dragging and pinch-zooming performance.
>> http://github.com/openlayers/openlayers/pull/503
>> Animated zooming. This depends on #800, and I will rebase it when #800
>> is in. For now, it is best to look at the three commits mentioned in
>> https://github.com/openlayers/openlayers/pull/503#issuecomment-11495176.
>> This change includes some improvements to the MouseWheel handler, and
>> better mousewheel defaults for the Navigation control, to allow for
>> usable and predictable wheel zooming on touch pads.
>> http://github.com/openlayers/openlayers/pull/803
>> Tween: skip frames when minimum frame rate is not reached. We use
>> requestAnimationFrame for tween already, but we have no control over
>> the frame rate. This change introduces a new minFrameRate option. When
>> set, frames will be skipped if the animation gets too slow. The effect
>> of this can best be seen when zooming with #503 applied in Firefox:
>> instead of the 20 frames (which work fine in Chrome), about half of
>> the frames will be skipped because Firefox can not scale the
>> layerContainer fast enough. The visual effect of animated zooming
>> still works fine, and users do not have to wait too long for the zoom
>> to finish.
>> Thanks for any reviews! With these changes in, the visual appearance
>> and performance of OpenLayers will be on par with Leaflet.
>> Andreas.
>> --
>> Andreas Hocevar
>> OpenGeo - http://opengeo.org/
>> Expert service straight from the developers.
> --
> Andreas Hocevar
> OpenGeo - http://opengeo.org/
> Expert service straight from the developers.

Andreas Hocevar
OpenGeo - http://opengeo.org/
Expert service straight from the developers.

More information about the Dev mailing list