Platform/Features/AzureD2DCanvas

From MozillaWiki
Jump to navigation Jump to search
Please use "Edit with form" above to edit this page.

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

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

|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=` }}