On 1/28/10 12:49 PM, P T Withington wrote:
> So, can we be sure that in the optimization for __processHiddenParents that 
> there is going to be an __LZdivdisplay entry for every sprite?

We can, because __findParents() only returns sprites that have their 
'visibility' property set to false - which means __LZdivdisplay will 
have been set explicitly.

   Maybe a better optimization would be to use the cache to see if the 
parent is not currently being displayed, and if not, display it, and add 
it to a list of sprites to be reverted?  I'm thinking that it is 
probably more inefficient to unnecessarily set the display style on 
sprites that don't need it.

Since __findParents() is already filtering the list so it contains only 
hidden sprites, this shouldn't be necessary.

>
> Otherwise, approved.
>
> On 2010-01-27, at 19:58, Max Carlson wrote:
>
>> Here's the relevant bit for this change- sorry, should have made it clearer:
>>
>> Unify caches, clarify sprite property setting in applyCSS().  Add
>> show_img_before_changing_size quirk, restrict to IE-only.  Optimize
>> __processHiddenParents, using cached display values to restore div
>> state.  Flatten __csscache key names, e.g. '__LZdivdisplay'.
>>
>> Regards,
>> Max Carlson
>> OpenLaszlo.org
>>
>> On 1/27/10 4:51 PM, P T Withington wrote:
>>> Can you summarize what you did to update this, and perhaps explain how they 
>>> addressed my previous comments?  It would make review easier, rather than 
>>> me having to start from scratch.
>>>
>>> On 2010-01-26, at 18:10, Max Carlson wrote:
>>>
>>>> Change 20100125-maxcarlson-p by maxcarl...@bank on 2010-01-25 16:07:08 PST
>>>>     in /Users/maxcarlson/openlaszlo/trunk-clean
>>>>     for http://svn.openlaszlo.org/openlaszlo/trunk
>>>>
>>>> Summary: UPDATED: Improve DOM performance
>>>>
>>>> Bugs Fixed: LPP-8734 - Improve DHTML DOM performance
>>>>
>>>> Technical Reviewer: ptw
>>>> QA Reviewer: hminsky
>>>>
>>>> Details: Add caching for CSS properties, to prevent spurious updates.  
>>>> Note that I started by using applyCSS() for _all_ CSS properties, then 
>>>> noticed that width, height display and overflow had by far the most cache 
>>>> hits.  Then, I removed applyCSS() for other CSS properties.  This saves 
>>>> ~1100 spurious DOM updates.  Unify caches, clarify sprite property setting 
>>>> in applyCSS().  Add show_img_before_changing_size quirk, restrict to 
>>>> IE-only.  Optimize __processHiddenParents, using cached display values to 
>>>> restore div state.  Flatten __csscache key names, e.g. '__LZdivdisplay'.
>>>>
>>>> LzSprite - Add applyCSS() to apply CSS properties to a div.
>>>>
>>>> LzSprite,LzTextSprite,LzInputTextSprite - Init __csscache at construct 
>>>> time.  Use applyCSS() to apply width, height, display and overflow 
>>>> properties.  Use __csscache instead of reading the div's style property 
>>>> for checking the state of those properties.
>>>>
>>>> LzTextSprite,LzInputTextSprite - Cache this.className property when set, 
>>>> for use with text measurement.
>>>>
>>>> Tests: I see the following when starting webtop DHTML with and without 
>>>> this patch applied:
>>>> Before : Profile (7938.758ms, 219848 calls)
>>>> After: Profile (7449.889ms, 229325 calls)
>>>>
>>>> Files:
>>>> M       WEB-INF/lps/lfc/kernel/dhtml/LzSprite.js
>>>> M       WEB-INF/lps/lfc/kernel/dhtml/LzTextSprite.js
>>>> M       WEB-INF/lps/lfc/kernel/dhtml/LzInputTextSprite.js
>>>>
>>>> Changeset: 
>>>> http://svn.openlaszlo.org/openlaszlo/patches/20100125-maxcarlson-p.tar
>>>>
>>>> _______________________________________________
>>>> Laszlo-reviews mailing list
>>>> [email protected]
>>>> http://www.openlaszlo.org/mailman/listinfo/laszlo-reviews
>>>
>> _______________________________________________
>> Laszlo-reviews mailing list
>> [email protected]
>> http://www.openlaszlo.org/mailman/listinfo/laszlo-reviews
>
_______________________________________________
Laszlo-reviews mailing list
[email protected]
http://www.openlaszlo.org/mailman/listinfo/laszlo-reviews

Reply via email to