Platform/2010-Q3-Goals: Difference between revisions
< Platform
(31 intermediate revisions by 9 users not shown) | |||
Line 1: | Line 1: | ||
=== General Goals === | === General Goals === | ||
* {{ | <onlyinclude> | ||
* {{ | * {{done|Javascript performance near or even with Chrome 5 on their benchmarks (within 20% on SS, 30% on V8), with substantial wins on our benchmarks. (Windows, in-browser.)}} | ||
* {{ | * {{done|Hardware acceleration of video and other HTML and SVG content, as well as user interface, on by default for compatible hardware on all Tier-1 desktop and mobile platforms.}} | ||
* {{ | * {{done|Fully support the WebGL 1.0 spec, with support turned on by default in a Firefox 4 beta on platforms that support OpenGL or OpenGL ES. }} | ||
* {{ | * {{miss|security: zero reproducible high/crit > 30 days}} | ||
* {{ | * {{done|Support multi-process Fennec.}} | ||
* {{done|Support Jetpacks running in separate processes and never blocking the Fennec UI.}} '''NOTE: jetpack team hasn't actually integrated this code yet, but it works in small test environments.''' | |||
</onlyinclude> | |||
=== GFX === | === GFX === | ||
* Accelerate Firefox's in-content video and other content primitives by shipping, in a Firefox 4 beta, layers acceleration for the full Firefox window, on by default for compatible hardware on all tier-1 platforms | * {{miss|Accelerate Firefox's in-content video and other content primitives by shipping, in a Firefox 4 beta, layers acceleration for the full Firefox window, on by default for compatible hardware on all tier-1 platforms:}} | ||
* Accelerate all drawing on Windows Vista and Windows 7, on compatible hardware, by shipping the Direct2D Cairo backend in a Firefox 4 beta. | ** {{done|Windows: based on Direct3D 9}} - Note: we did not ship beta 7 in this quarter (was ready at the beginning of September), but marking as hit, | ||
* Enhance our OpenType font feature support by shipping Harfbuzz on by default in a Firefox 4 beta on all Tier-1 platforms, with text rendering performance equal to or better than Firefox 3.6. | ** {{done|Mac: based on OpenGL}} - Note: we did not ship beta 7 in this quarter (was ready late September), | ||
* Fully support the WebGL 1.0 spec, with support turned on by default in a Firefox 4 beta on platforms that support OpenGL or OpenGL ES. | ** {{drop|Linux: based on OpenGL}} - explicitly dropped because of driver issues, | ||
** Stretch goal: Also support WebGL on Direct3D via ANGLE. | ** {{miss|Mobile: based on and OpenGL ES}} - because the work wasn't done. | ||
* {{done|Accelerate all drawing on Windows Vista and Windows 7, on compatible hardware, by shipping the Direct2D Cairo backend in a Firefox 4 beta.}} | |||
* {{miss|Enhance our OpenType font feature support by shipping Harfbuzz on by default in a Firefox 4 beta on all Tier-1 platforms, with text rendering performance equal to or better than Firefox 3.6.}} | |||
** {{done|Mac OS}}, | |||
** {{done|Windows}} - Note: we did not ship beta 7 in this quarter (was ready at the beginning of September), | |||
** {{miss|Linux}} - Some work is done but it won't be ready by end of quarter. | |||
* {{miss|Fully support the WebGL 1.0 spec, with support turned on by default in a Firefox 4 beta on platforms that support OpenGL or OpenGL ES.}} | |||
** {{miss|Stretch goal: Also support WebGL on Direct3D via ANGLE.}} | |||
=== Layout === | === Layout === | ||
* Land CSS3 calc() | * {{done|Land CSS3 calc()}} | ||
* Finish and land CSS Transitions | * {{done|Finish and land CSS Transitions}} | ||
* Land retained layers | * {{done|Land retained layers}} | ||
* Land content/chrome rendering integration (bug 130078) | * {{done|Land content/chrome rendering integration (bug 130078)}} | ||
* Land CSS control of lowlevel font features | * {{done|Land CSS control of lowlevel font features}} | ||
=== Video/Audio === | === Video/Audio === | ||
* Support 'buffered' attribute for all media types | * {{done|Support 'buffered' attribute for all media types}} | ||
* | * {{ok|Set up performance test harness to track frame rates and other metrics}} (WIP; contact Chris Double to check status at end of Q3) | ||
* Contribute activity masking to VP8 encoder | * {{ok|Contribute activity masking to VP8 encoder}} (WIP; contact Tim Terriberry to check status at end of Q3) | ||
=== Content === | === Content === | ||
* {{ | * {{miss|Produce clear plans for accelerated windowless plugin rending on Windows and Linux (including mobile).}} | ||
* {{ | * {{done|Be prepared to ship OOPP for Mac OS X.}} | ||
* {{ | * {{miss|Eliminate enablePrivilege() ("UniversalXPConnect" etc).}} | ||
* {{ | * {{miss|Close the performance gap between Firefox and Chrome on the "Click Preferences *" tests in the Zimbra performance test harness, 30+% speedup from end of Q2.}} | ||
* {{ | * {{miss|Finish up indexGetter/Setter work for faster list[n] access in JS}} | ||
* {{ | * {{done|Solidify a long term plan for the future of our DOM bindings (i.e. keep hacking on XPConnect or move over to proxies)}} | ||
=== Privacy === | === Privacy === | ||
* {{ | * {{drop|Improve user privacy by reducing the ability of sites to fingerprint individual users, and improve user control and privacy of cookies.}} | ||
=== JS === | === JS === | ||
Line 46: | Line 55: | ||
* Performance goals for reference system: Dell Optiplex 760 (Intel Core2 Duo) Windows Vista. Baseline: Chrome 5.0.375.55. | * Performance goals for reference system: Dell Optiplex 760 (Intel Core2 Duo) Windows Vista. Baseline: Chrome 5.0.375.55. | ||
** {{ok|SunSpider: 300-375ms.}} | ** {{ok|SunSpider: 300-375ms.}} | ||
** {{ | ** {{risk|V8 Score: 3500-5000.}} | ||
** {{ | ** {{done|JSNES: 60fps.}} | ||
=== Accessibility === | === Accessibility === | ||
* {{ | * {{miss|Provide accessibility support for existing and new HTML5 input controls.}} [''some progress, but we won't finish this q''] | ||
* {{ | * {{done|Reduce the a11y performance hit by at least 50% for tools that require only limited accessibility support.}} [''for all tools''] | ||
* {{ | * {{miss|Improve/fix life cycle management of our (node and frame based) accessible objects.}} [''only partial improvement''] | ||
=== Multi-Process === | === Multi-Process === | ||
Latest revision as of 18:45, 7 October 2010
General Goals
- [DONE] Javascript performance near or even with Chrome 5 on their benchmarks (within 20% on SS, 30% on V8), with substantial wins on our benchmarks. (Windows, in-browser.)
- [DONE] Hardware acceleration of video and other HTML and SVG content, as well as user interface, on by default for compatible hardware on all Tier-1 desktop and mobile platforms.
- [DONE] Fully support the WebGL 1.0 spec, with support turned on by default in a Firefox 4 beta on platforms that support OpenGL or OpenGL ES.
- [MISSED] security: zero reproducible high/crit > 30 days
- [DONE] Support multi-process Fennec.
- [DONE] Support Jetpacks running in separate processes and never blocking the Fennec UI. NOTE: jetpack team hasn't actually integrated this code yet, but it works in small test environments.
GFX
- [MISSED] Accelerate Firefox's in-content video and other content primitives by shipping, in a Firefox 4 beta, layers acceleration for the full Firefox window, on by default for compatible hardware on all tier-1 platforms:
- [DONE] Windows: based on Direct3D 9 - Note: we did not ship beta 7 in this quarter (was ready at the beginning of September), but marking as hit,
- [DONE] Mac: based on OpenGL - Note: we did not ship beta 7 in this quarter (was ready late September),
- [DROPPED] Linux: based on OpenGL - explicitly dropped because of driver issues,
- [MISSED] Mobile: based on and OpenGL ES - because the work wasn't done.
- [DONE] Accelerate all drawing on Windows Vista and Windows 7, on compatible hardware, by shipping the Direct2D Cairo backend in a Firefox 4 beta.
- [MISSED] Enhance our OpenType font feature support by shipping Harfbuzz on by default in a Firefox 4 beta on all Tier-1 platforms, with text rendering performance equal to or better than Firefox 3.6.
- [DONE] Mac OS,
- [DONE] Windows - Note: we did not ship beta 7 in this quarter (was ready at the beginning of September),
- [MISSED] Linux - Some work is done but it won't be ready by end of quarter.
- [MISSED] Fully support the WebGL 1.0 spec, with support turned on by default in a Firefox 4 beta on platforms that support OpenGL or OpenGL ES.
- [MISSED] Stretch goal: Also support WebGL on Direct3D via ANGLE.
Layout
- [DONE] Land CSS3 calc()
- [DONE] Finish and land CSS Transitions
- [DONE] Land retained layers
- [DONE] Land content/chrome rendering integration (bug 130078)
- [DONE] Land CSS control of lowlevel font features
Video/Audio
- [DONE] Support 'buffered' attribute for all media types
- [ON TRACK] Set up performance test harness to track frame rates and other metrics (WIP; contact Chris Double to check status at end of Q3)
- [ON TRACK] Contribute activity masking to VP8 encoder (WIP; contact Tim Terriberry to check status at end of Q3)
Content
- [MISSED] Produce clear plans for accelerated windowless plugin rending on Windows and Linux (including mobile).
- [DONE] Be prepared to ship OOPP for Mac OS X.
- [MISSED] Eliminate enablePrivilege() ("UniversalXPConnect" etc).
- [MISSED] Close the performance gap between Firefox and Chrome on the "Click Preferences *" tests in the Zimbra performance test harness, 30+% speedup from end of Q2.
- [MISSED] Finish up indexGetter/Setter work for faster list[n] access in JS
- [DONE] Solidify a long term plan for the future of our DOM bindings (i.e. keep hacking on XPConnect or move over to proxies)
Privacy
- [DROPPED] Improve user privacy by reducing the ability of sites to fingerprint individual users, and improve user control and privacy of cookies.
JS
- Performance goals for reference system: Dell Optiplex 760 (Intel Core2 Duo) Windows Vista. Baseline: Chrome 5.0.375.55.
- [ON TRACK] SunSpider: 300-375ms.
- [AT RISK] V8 Score: 3500-5000.
- [DONE] JSNES: 60fps.
Accessibility
- [MISSED] Provide accessibility support for existing and new HTML5 input controls. [some progress, but we won't finish this q]
- [DONE] Reduce the a11y performance hit by at least 50% for tools that require only limited accessibility support. [for all tools]
- [MISSED] Improve/fix life cycle management of our (node and frame based) accessible objects. [only partial improvement]