Platform/GFX/roadmap2020

From MozillaWiki
< Platform‎ | GFX
Jump to: navigation, search

Graphics Roadmap for 2020

WebRender

WebRender and specifically, shipping WebRender to as many places as possible will be the primary goal for the Graphics team in 2020.

You can check out our specific roadmap here

Fission

Specifics for this are currently TBD but it is likely we will need to continue to support the Fission project throughout 2020, likely in the form of bug fixing.

APZ/Scrolling

The Async Pan/Zoom module (APZ) is a Graphics component that allows panning and zooming to be performed asynchronously (on the compositor thread rather than the main thread). Graphics implemented APZ to help improve scrolling performance in Firefox. It is critical to a user’s perception of the overall performance of Firefox, since any lag or jank when scrolling can lead a user to assume there is something wrong with the browser.

APZ is especially important on Android due to touch-based input being the primary way of interaction on this platform. Any performance issues or behavioral flaws in this area are immediately obvious to users. As such, continued maintenance and improvement of APZ is critical to the success of Gecko-based products on Android.

Our goals for APZ for 2020 include shipping Firefox’s implementation of Desktop Zooming. Desktop zooming enables continuous/pinch-zoom on desktop platforms, this is a frequently requested feature and we are the last major browser vendor to implement this. This will be shipping on Desktop.

Once we have completed Desktop Zooming (assuming no other priorities appear) we will focus on burning down any important APZ bugs impacting Android, Fission and general desktop performance. We will also assist Layout with implementing scrolling-related specs, as needed, and look at checkerboarding mitigations to help improve scrolling performance further.

H1

  • Finish and ship Desktop Zooming implementation
  • Bug backlog burndown
    • We have a growing backlog of bugs we should look at and prioritize for fixing in H1, specific priorities TBD in Q1, but they will almost certainly be a variety of bugs impacting desktop, Fission and Android.

H2

We will re-assess potential priority for H2 closer to that date

  • Assisting Layout with scrolling-related specs
    • Scroll-linked animations
  • Viewport Compat work (likely long-tail of bugs)
  • Checkerboarding and scroll-linked effect mitigations
  • Responsive design mode (follow up to Desktop Zooming)

WebGPU

H1

  • Iteration on prototype in Gecko
  • Demo in Firefox

H2

  • Ship MVP - specific timeline to be assessed

WebGL

H1

  • Finish remaining sandboxing work (largely fallout bugs)
  • Re-visit support for OffscreenCanvas

H2

  • Ship remaining WebGL 1 and 2 extensions
  • WebGL 2.0.0 conformance
  • WebGL in ‘maintenance mode’
    • We will define what that looks like in teams of how we will assess and prioritize bug fixes going forward

Other

The items in this category have been requested by other teams and they need our support to complete them.

H1

  • Lazy loading support
  • AVIF support for Media
  • Move compositor to Android UI thread