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 |
{{#set:Feature name=Azure Direct2D backend for canvas
|Feature stage=Landed |Feature status=Complete |Feature version=Firefox 7 |Feature health=OK |Feature 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 | ` |
{{#set:Feature product manager=Chris Blizzard
|Feature feature manager=Bas Schouten |Feature lead engineer=Bas Schouten |Feature security lead=Curtis Koenig |Feature privacy lead=` |Feature localization lead=` |Feature accessibility lead=` |Feature qa lead=AndreiD |Feature ux lead=` |Feature product marketing lead=` |Feature operations lead=` |Feature 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
` {{#set:Feature open issues and risks=` |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/ |Feature users and use cases=Improve the performance of the 2D canvas context on common benchmarks and demos when using Direct2D. |Feature dependencies=` |Feature 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?)
|Feature non-goals=* Non-Direct2D backends for Azure.
- Using the Azure API for activities other than the canvas context.
|Feature functional spec=* Gecko:2DGraphicsSketch |Feature ux design=` |Feature implementation plan=` |Feature security review=` |Feature privacy review=` |Feature localization review=` |Feature accessibility review=` |Feature qa review=` |Feature operations review=` |Feature implementation notes=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
|Feature landing criteria=` }}
Feature details
Priority | P1 |
Rank | 999 |
Theme / Goal | ` |
Roadmap | Gecko |
Secondary roadmap | ` |
Feature list | Platform |
Project | ` |
Engineering team | Graphics |
{{#set:Feature priority=P1
|Feature rank=999 |Feature theme=` |Feature roadmap=Gecko |Feature secondary roadmap=` |Feature list=Platform |Feature project=` |Feature 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 | ` | ` |
{{#set:Feature products status=`
|Feature products notes=` |Feature engineering status=` |Feature engineering notes=` |Feature security status=sec-review-complete |Feature security health=OK |Feature security notes=Notes |Feature privacy status=` |Feature privacy notes=` |Feature localization status=` |Feature localization notes=` |Feature accessibility status=` |Feature accessibility notes=` |Feature qa status=Signed off for release |Feature qa notes=` |Feature ux status=` |Feature ux notes=` |Feature product marketing status=` |Feature product marketing notes=` |Feature operations status=` |Feature operations notes=` }}