Platform/Features/AzureD2DCanvas
Status
Azure Direct2D backend for canvas | |
Stage | Landed |
Status | Complete |
Release target | Firefox 7 |
Health | OK |
Status note | being actively worked on the graphics project branch |
Team
Product manager | Chris Blizzard |
Directly Responsible Individual | Bas Schouten |
Lead engineer | Bas Schouten |
Security lead | Curtis Koenig |
Privacy lead | ` |
Localization lead | ` |
Accessibility lead | ` |
QA lead | AndreiD |
UX lead | ` |
Product marketing lead | ` |
Operations lead | ` |
Additional members | ` |
Open issues/risks
`
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.
3. Dependencies
`
4. Requirements
- 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-goals
- 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
`
8. Reviews
Security review
`
Privacy review
`
Localization review
`
Accessibility
`
Quality Assurance review
`
Operations review
`
Stage 4: Development
9. Implementation
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.
Next Steps
- 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
- bug 651858 Implement Direct2D Azure Backend
- Graphics project branch, on which all implementation is occurring
Stage 5: Release
10. Landing criteria
`
Feature details
Priority | P1 |
Rank | 999 |
Theme / Goal | ` |
Roadmap | Gecko |
Secondary roadmap | ` |
Feature list | Platform |
Project | ` |
Engineering team | Graphics |
Team status notes
status | notes | |
Products | ` | ` |
Engineering | ` | ` |
Security | sec-review-complete | Notes |
Privacy | ` | ` |
Localization | ` | ` |
Accessibility | ` | ` |
Quality assurance | Signed off for release | ` |
User experience | ` | ` |
Product marketing | ` | ` |
Operations | ` | ` |