- From: Ali Juma <ajuma@chromium.org>
- Date: Wed, 27 Nov 2013 17:45:56 -0500
- To: Benoit Girard <bgirard@mozilla.com>
- Cc: Cameron McCormack <cmccormack@mozilla.com>, www-style <www-style@w3.org>, "Tab Atkins Jr." <jackalmage@gmail.com>
- Message-ID: <CANLC6v2N44h7ARReHJ9qDUs7FxWfPm2P2wi9GAtxfAP3SiJxEQ@mail.gmail.com>
On Wed, Nov 27, 2013 at 4:38 PM, Benoit Girard <bgirard@mozilla.com> wrote: > I think this is a good idea. More complex animations, like the ones you > show, can benefit from using a different render than static content. Some > renders perform better at rendering static content (lower latency, memory > usage), while some renders need to build caches and intermediate > representations but will perform better once these are ready. > > That said I have some reservations. For example your testcase ( > http://jsfiddle.net/vBQHH/3/) might benefit from a will-animate: volatile > in one implementation but in gecko would instead be better represented as 1 > active layers, the moving image, and a mask layer, the growing clip, not > require any rasterization and thus not be volatile (At least in theory, we > haven't invested much in using this code path properly). Thus I fear that > something like will-animate: volatile might be specific to the > implementation based on what they can optimize and what they can't. How > would a web author know to specify 'will-animate: volatile' in a way that > is portable without assuming, and ideally even knowing about, details of > the implementation. > You're right that this particular example could be handled in a non-re-rasterizing way. That's because the underlying image is static. But consider elements that are truly being invalidated every frame, where there's nothing static that can be re-used. In this situation, a web author could safely use "will-animate: volatile", and all implementations would benefit by being able to save the memory cost of caching the content. Perhaps "will-animate: dynamic" better conveys the intent than "volatile": the element has content that's being dynamically generated every frame.
Received on Wednesday, 27 November 2013 22:46:24 UTC