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
