Re: Intent to ship: CSS will-change

2014-10-31 Thread L. David Baron
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)


signature.asc
Description: Digital signature
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Intent to ship: CSS will-change

2014-10-31 Thread Benoit Girard
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


Re: Intent to ship: CSS will-change

2014-10-31 Thread Ehsan Akhgari
Can we make sure to log something to the web console when we choose to 
dishonor will-change?  That will help web developers to be able to 
reason about why will-change doesn't give them the performance benefits 
that they expect.


On 2014-10-31 3:36 PM, Benoit Girard wrote:

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



___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Intent to ship: CSS will-change

2014-10-31 Thread Benoit Girard
That's a good idea. Filed bug 1092320.

On Fri, Oct 31, 2014 at 3:48 PM, Ehsan Akhgari ehsan.akhg...@gmail.com wrote:
 Can we make sure to log something to the web console when we choose to
 dishonor will-change?  That will help web developers to be able to reason
 about why will-change doesn't give them the performance benefits that they
 expect.


 On 2014-10-31 3:36 PM, Benoit Girard wrote:

 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


___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform