Yes, it's implemented in part 1-4 of my patch queue in bug 961871. Here's how it works -but is subject to change at any time-: - The following are all in untransformed CSS pixel unit. This makes the implementation *much* simpler[1] and more predicable for web authors[2]. - We look at the scrollport area (the bounds of the visible area) of the document that will-change is used within to set the budget. This is multiplied by some constant which is currently 3 times but I'll open a discussion to change that to perhaps as high as 9 times within the Firefox 36 time-frame. - When a frame is seen that uses will-change the area of the frame is added to the budget for that document. - If the total usage for that document is in budget then all will-change optimizations are performed. Otherwise none are performed.
[1] We need to decide the will-change budget at the end of the display list phase which is too early to know the will-change costs in layer pixel which happens in the follow layer building phase. Using CSS pixels prevents us from requiring a second pass in some cases to properly implement the will-change budget in terms of layer pixels. [2] If layer pixel were used an author could lose their will-change optimizations because we decided to re-rasterize a scaled layer at a higher resolution. This happens seemingly unpredictably from an author' point of view. On Fri, Oct 31, 2014 at 3:10 PM, L. David Baron <dba...@dbaron.org> wrote: > On Friday 2014-10-31 14:17 -0400, Benoit Girard wrote: >> As of next week I intend to turn will-change on by default on all >> platform. It has been developed behind the >> layout.css.will-change.enabled;true preference since Firefox 31 and >> has been enabled for certified FirefoxOS apps since 1.4[1] [2]. Blink >> has already shipped this [3], IE lists the feature as >> 'under-consideration [4] with 163 votes [5]. > > Have we implemented protections to deal with overuse of will-change > (e.g., just ignoring all will-change uses in a document that uses it > too much, for some definition of too much)? > > -David > > -- > 𝄞 L. David Baron http://dbaron.org/ 𝄂 > 𝄢 Mozilla https://www.mozilla.org/ 𝄂 > Before I built a wall I'd ask to know > What I was walling in or walling out, > And to whom I was like to give offense. > - Robert Frost, Mending Wall (1914) _______________________________________________ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform