[OpenLayers-Dev] Towards slick panning and animated zooming

Andreas Hocevar ahocevar at opengeo.org
Tue Jan 8 04:34:47 PST 2013


Hey Björn,

did you test on iOS 6 with the hosted mobile-wmts-vienna.html example,
or with your own installation? If the latter, did you clear the cache
first for the new css to apply? According to
http://indiegamr.com/ios6-html-hardware-acceleration-changes-and-how-to-fix-them/,
we are using the correct techniques to turn on GPU support on iOS 6.

Andreas.

On Tue, Jan 8, 2013 at 1:23 PM, Björn Harrtell <bjorn.harrtell at gmail.com> wrote:
> Initial tests on Desktop Chrome and built in browser on Android 4.0+ is
> promising and does seem quite smooth, comparable to leaflet.
>
> Initial tests on iPad (iOS 6) unfortunately isn't as nice though, I'm
> experiencing significantly worse performance with the experimental example
> compared to the stable 2.12 version :(
>
>
> 2013/1/8 Björn Harrtell <bjorn.harrtell at gmail.com>
>>
>> Don't forget to also use the experimental CSS theme for OpenLayers since
>> it adds stuff needed for GPU acceleration (afaik):
>>
>>
>> https://github.com/ahocevar/openlayers/blob/mobile-wmts-vienna/theme/default/style.css
>>
>> https://github.com/ahocevar/openlayers/blob/mobile-wmts-vienna/theme/default/style.mobile.css
>>
>>
>> 2012/12/21 Andreas Hocevar <ahocevar at opengeo.org>
>>>
>>> For those of you who want to test, the live example site also provides
>>> all examples that OpenLayers ships with, and you can test
>>>
>>> http://ahocevar.github.com/openlayers/mobile-wmts-vienna/lib/OpenLayers.js
>>> 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
>>> http://github.com/ahocevar/openlayers/tree/mobile-wmts-vienna.
>>>
>>> Andreas.
>>>
>>> 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.
>>> _______________________________________________
>>> Dev mailing list
>>> Dev at lists.osgeo.org
>>> http://lists.osgeo.org/mailman/listinfo/openlayers-dev
>>
>>
>
>
> _______________________________________________
> Dev mailing list
> Dev at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/openlayers-dev
>



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


More information about the Dev mailing list