|Azure Direct2D backend for canvas|
|Release target||Firefox 7|
|Status note||being actively worked on the graphics project branch|
|Product manager||Chris Blizzard|
|Directly Responsible Individual||Bas Schouten|
|Lead engineer||Bas Schouten|
|Security lead||Curtis Koenig|
|Product marketing lead||`|
Stage 1: Definition
1. Feature overview
This feature is an implementation of an HTML5 canvas context using the new Azure 2D API with the Direct2D backend. It should give us significantly faster performance on canvas benchmarks and demos with no loss in functionality or quality.
Azure is a project to create and implement a new 2D API that's closer to hardware and platform APIs. Read more: http://blog.mozilla.com/joe/2011/04/26/introducing-the-azure-project/
2. Users & use cases
Improve the performance of the 2D canvas context on common benchmarks and demos when using Direct2D.
- Needs to pass all canvas tests on mozilla-central.
- Need to define a benchmark suite for canvas performance.
- Needs to be a net benefit to performance on that benchmark suite on at least our talos slaves.
- Needs an implementation security review (NB: is this true?)
- Non-Direct2D backends for Azure.
- Using the Azure API for activities other than the canvas context.
Stage 2: Design
5. Functional specification
6. User experience design
Stage 3: Planning
7. Implementation plan
Quality Assurance review
Stage 4: Development
The API was designed by Bas Schouten, Robert O'Callahan and Jeff Muizelaar. The initial canvas backend was implemented by Benoit Jacob and Bas Schouten. Bas is working on the Direct2D backend for the Azure 2D API.
- The remainder of the 2D canvas context API needs to be implemented on the graphics branch.
- We need to define what we are going to use as a benchmark suite for canvas.
- The graphics branch needs to land on mozilla-central with the Azure backend for canvas contexts preffed off.
- We need to solicit nightly testers to turn on the Azure canvas backend and test using it.
- Once that testing is complete and the bugs are fixed, we can turn on backend by default.
Related Bugs & Dependencies
Stage 5: Release
10. Landing criteria
|Theme / Goal||`|
Team status notes
|Quality assurance||Signed off for release||`|