[OpenLayers-Dev] final animated zooming and panning patches

Paul Spencer pspencer at dmsolutions.ca
Fri Mar 30 09:27:02 EDT 2007


If you use webkit, there is a javascript debugger called drosera.  My  
experience with webkit is that it has fixed a bunch of bugs and  
problems are sometimes hard to reproduce :(  You can also enable the  
debug menu on stock Safari and get access to the javascript console  
(console.log works for instance) and some other debugging tools that  
I have never found particularly useful but which may help in this  
case ...

defaults write com.apple.Safari IncludeDebugMenu 1

Please note that I experienced the same problem in firefox after a  
while (general slow down, some visual side effects).  I was just  
checking using Page Info (that's where I got the tile counts below),  
not the dom inspector, so perhaps my results were misleading.

Cheers

Paul

On 29-Mar-07, at 5:54 PM, Emanuel Schütze wrote:

> Now, I think I understand what you mean.
> I'm directly testing it in Safari and it seems to be a special  
> behavior in this browser because FF doesn't show this effects. It  
> really seems that Safari can't remove the old images from DOM. The  
> number of loaded objects in status bar rise with each zoom step.  
> The DOM in FF is ok.
> Do you know a safari plugin to show the DOM tree like firebug for  
> FF? It could help for analyse this problem...
> Emanuel
>
> Am 29.03.2007 um 20:11 schrieb Paul Spencer:
>
>> Sorry, I'll try to explain more ...  Now using the controls  
>> example ... I'm only using the mouse wheel to zoom one step at a  
>> time.  By the 3rd step, it is slowing down and by the fifth it  
>> causes 100% processor usage for several seconds to complete the  
>> one step zoom.
>>
>> Browser is Safari, hardware is a powerbook g4.
>>
>> In Firefox, it is much better and rarely shows the really blurry  
>> tiles (or briefly enough that I can't get a screencapture of it  
>> anyway).
>>
>> Digging a bit deeper ...
>>
>> initial load: 4 tiles
>> zoom 1: 10 tiles
>> zoom 2: 30 tiles
>> zoom 3: 44 tiles
>> zoom 4: 50 tiles
>> zoom 5: 51 tiles
>> zoom 6: 60 tiles
>>
>> Each zoom was a single step zooming in using the mouse wheel.   
>> Initially I thought it was keeping all the tiles from a previous  
>> zoom level but it actually seems pretty random to me.  Some of the  
>> images are definitely from other scales though and I think the  
>> blurry image is a symptom of those images being left in the dom  
>> tree and being scaled way beyond what they should be.  I haven't  
>> looked in the code, but I expect it is a leak of some sort that  
>> leaves these tiles in the dom after a smooth zoom.  This theory  
>> also explains why performance tails off quickly as I zoom ... more  
>> and more images to resize over time.
>>
>> Cheers
>>
>> Paul
>> <Picture 2.png>
>>
>> On 29-Mar-07, at 9:49 AM, Emanuel Schütze wrote:
>>
>>> Hi Paul,
>>>
>>> I'm not exactly sure what do you mean.
>>> If you start the demo; zoom f.e. to level 5 and you drag now the  
>>> slider to
>>> level 0 you get a new zoomOut tile which show you new  
>>> informations arround
>>> the last viewport of level 5. This zoomOut tile is 4 times  
>>> greater than a
>>> standard tile and it contains the max extent. So it comes to some  
>>> alleged
>>> strange situations if you zoom out from a high level. After  
>>> mouseUp the
>>> zoomOut tile stay pixelated until the new tiles are loaded. This  
>>> is a normal
>>> zoom out process. Sure, we could improve it but therefor you have  
>>> to load
>>> more zoomOut tiles which scales in higher levels - and this could  
>>> be evoke
>>> new performance problems.
>>>
>>> To improve your own performance try to make your map smaller. My  
>>> demo has a
>>> map with 100% width; dependent on your screen resolution there  
>>> are many tiles
>>> which have to scale. Perhaps there is the bad performance effect  
>>> if the tile
>>> size over 32768px like in IE? Which browser and hardware do you  
>>> use? I can't
>>> reproduce these effects on my machines. Try the controls example  
>>> [1]. It
>>> should works faster.
>>>
>>> Regards,
>>> Emanuel
>>>
>>> [1]http://dev.openlayers.org/sandbox/emanuel/animatedZooming/ 
>>> examples/controls.html
>>>
>>> On Thursday 29 March 2007 15:10, Paul Spencer wrote:
>>>> Hi Emanuel,
>>>>
>>>> I just tried this out for the first time and its quite good :)  I
>>>> have one piece of feedback.  In all browsers (although perhaps  
>>>> Safari
>>>> is the worst), there is a strange visual effect after it has scaled
>>>> the tiles and before the new tiles arrive, some (or all perhaps) of
>>>> the tiles change to a very blurry image ... its very pixelated,  
>>>> each
>>>> pixel looks like it is about 50 square pixels on my screen.  This
>>>> doesn't happen right away, only after I have zoomed in a few times.
>>>>
>>>> Also, after a few zooms, the whole thing slows down to the point of
>>>> being not useful anymore and jacks my processor through the  
>>>> roof ...
>>>> at this point, even resizing the window is horribly slow and  
>>>> consumes
>>>> a lot of processing power.  I've attached a screen grab of the  
>>>> blurry
>>>> stuff that happens on zoom out.
>>>>
>>>> It does work great when first opened, though, so hopefully its
>>>> fixable :)
>>>>
>>>> Cheers
>>>>
>>>> Paul
>>
>> +-----------------------------------------------------------------+
>> |Paul Spencer                          pspencer at dmsolutions.ca    |
>> +-----------------------------------------------------------------+
>> |Chief Technology Officer                                         |
>> |DM Solutions Group Inc                http://www.dmsolutions.ca/ |
>> +-----------------------------------------------------------------+
>>
>>
>>
>>
>

+-----------------------------------------------------------------+
|Paul Spencer                          pspencer at dmsolutions.ca    |
+-----------------------------------------------------------------+
|Chief Technology Officer                                         |
|DM Solutions Group Inc                http://www.dmsolutions.ca/ |
+-----------------------------------------------------------------+







More information about the Dev mailing list