Platform/GFX/Firefox.next: Difference between revisions

From MozillaWiki
< Platform‎ | GFX
Jump to navigation Jump to search
No edit summary
No edit summary
Line 6: Line 6:
| '''Target'''
| '''Target'''
| '''GFX Owner'''
| '''GFX Owner'''
| '''Priority'''
| '''Estimated Work'''
| '''Estimated Work'''
|-
|-
Line 13: Line 14:
| ?
| ?
| Jrmuizel & Bjacob
| Jrmuizel & Bjacob
| P1
| ?
|-
| WebGL antialiasing
| bjacob
| Even though it's not a normative part of the spec, WebGL defaults to antialiasing, Chrome already supports it, and it's very visible for the end-user
| Firefox 6
| bjacob & jrmuizel
| P1
| 1 week
|-
| NPAPI Async Drawing Extension
| Bas
| With the release of IE9 and Flash 10.2 IE has created an easier method for windowless plugin drawing. For performance and other reasons (such as the current elaborate background copying/alpha recovery scheme) a more efficient drawing model for windowless plugins is required.
| ?
| Bas & Roc
| P1
| ?
|-
| Layers 3D Transforms
| Roc
| CSS 3D transforms need to be supported by layers for good performance when we start supporting them.
| ?
| Mattwoodrow
| P1
| ?
| ?
|-
|-
Line 19: Line 45:
| In order not to regress performance in electrolysis builds all types of accelerated layers need to be able to operate in conjunction with electrolysis.
| In order not to regress performance in electrolysis builds all types of accelerated layers need to be able to operate in conjunction with electrolysis.
| e10s (Fx7?)
| e10s (Fx7?)
| tbd
| Bas & cjones
| P2
| ?
| ?
|-
|-
Line 27: Line 54:
| ?
| ?
| tbd
| tbd
| ?
| P2
|-
| Common Benchmark Perf Improvements
| Blizzard
| It's important to perform well on commonly quoted benchmarks. Even when they are not necessarily representative of common browser usage they strongly influence impression of browser performance.
| Continuous
| tbd
| ?
| ?
|-
|-
Line 41: Line 62:
| ?
| ?
| Bjacob & Mattwoodrow
| Bjacob & Mattwoodrow
| P2
| ?
| ?
|-
|-
Line 48: Line 70:
| ?
| ?
| bjacob
| bjacob
| P2
| 2 weeks
| 2 weeks
|-
| WebGL antialiasing
| bjacob
| Even though it's not a normative part of the spec, WebGL defaults to antialiasing, Chrome already supports it, and it's very visible for the end-user
| Firefox 6
| bjacob & jrmuizel
| 1 week
|-
|-
| WebGL float textures extension
| WebGL float textures extension
Line 62: Line 78:
| ?
| ?
| tbd (I think that Vlad had a patch)
| tbd (I think that Vlad had a patch)
| P2
| 1 week
| 1 week
|-
|-
Line 69: Line 86:
| ?
| ?
| bjacob & jrmuizel
| bjacob & jrmuizel
| P2
| ?
| ?
|-
| WebGL standard process / conference calls
| bjacob
| In order to get a vote, Mozilla must have someone attend the weekly WebGL concall every week. That's important. WebGL 2.0 will get decided this year. So we need more than one person to closely follow WebGL and regularly attend the concall.
| Continuous
| bjacob & jp
| Continuous
|-
|-
| Cross Process WebGL
| Cross Process WebGL
Line 83: Line 94:
| Fennec Unknown(ASAP?), Desktop e10s (Fx7)
| Fennec Unknown(ASAP?), Desktop e10s (Fx7)
| tbd
| tbd
| P2
| ?
| ?
|-
|-
Line 90: Line 102:
| ?
| ?
| tbd
| tbd
| ?
| P2
|-
| '''NGFX'''
| Internal
| Replacing cairo with a more modern, flexible graphics library is deemed needed for a variety of performance & long term multiprocess needs
| ? (Fx8?)
| Bas & Roc
| ?
|-
| NPAPI Async Drawing Extension
| Bas
| With the release of IE9 and Flash 10.2 IE has created an easier method for windowless plugin drawing. For performance and other reasons (such as the current elaborate background copying/alpha recovery scheme) a more efficient drawing model for windowless plugins is required.
| ?
| Bas & Roc
| ?
| ?
|-
|-
Line 111: Line 110:
| ?
| ?
| tbd
| tbd
| P2
| ?
| ?
|-
|-
Line 118: Line 118:
| ?
| ?
| tbd
| tbd
| P2
| ?
| ?
|-
|-
| Layers 3D Transforms
| Accelerated Filters
| Roc
| Roc
| CSS 3D transforms need to be supported by layers for good performance when we start supporting them.
| Numerous filters could potentially be accelerated through layers. Leading to performance improvements.
| ?
| ?
| Mattwoodrow
| tbd
| P2
| ?
| ?
|-
|-
| Accelerated Filters
| Async Publishing of Video Frames
| Roc
| Roc
| Numerous filters could potentially be accelerated through layers. Leading to performance improvements.
| Needs motivation
| ?
| ?
| tbd
| tbd
| P2
| ?
| ?
|-
|-
Line 139: Line 142:
| ?
| ?
| tbd
| tbd
| P3
| ?
|-
| Common Benchmark Perf Improvements
| Blizzard
| It's important to perform well on commonly quoted benchmarks. Even when they are not necessarily representative of common browser usage they strongly influence impression of browser performance.
| Continuous
| tbd
| ?
| ?
| ?
|-
|-
| Async Publishing of Video Frames
| '''NGFX'''
| Roc
| Internal
| Needs motivation
| Replacing cairo with a more modern, flexible graphics library is deemed needed for a variety of performance & long term multiprocess needs
| ? (Fx8?)
| Bas & Roc
| ?
| ?
| tbd
| ?
| ?
|}
|}

Revision as of 18:02, 18 April 2011

Feature/Request Contact Reason Target GFX Owner Priority Estimated Work
Fennec Layers Acceleration Blizzard/Stuart For best possible performance on Fennec layers are required to be accelerated on Fennec. ? Jrmuizel & Bjacob P1 ?
WebGL antialiasing bjacob Even though it's not a normative part of the spec, WebGL defaults to antialiasing, Chrome already supports it, and it's very visible for the end-user Firefox 6 bjacob & jrmuizel P1 1 week
NPAPI Async Drawing Extension Bas With the release of IE9 and Flash 10.2 IE has created an easier method for windowless plugin drawing. For performance and other reasons (such as the current elaborate background copying/alpha recovery scheme) a more efficient drawing model for windowless plugins is required. ? Bas & Roc P1 ?
Layers 3D Transforms Roc CSS 3D transforms need to be supported by layers for good performance when we start supporting them. ? Mattwoodrow P1 ?
Electrolysis Accelerated Layers Blizzard In order not to regress performance in electrolysis builds all types of accelerated layers need to be able to operate in conjunction with electrolysis. e10s (Fx7?) Bas & cjones P2 ?
Fennec Gradient Performance Blizzard Common use cases slowed down by poorly performing gradients on ARM ? tbd P2 ?
Accelerated Layers on X11 ? Important feature that's still not default on X11. Matt's patches in bug 640082 are a large part of the work there, but there remains the Flash crash and probably some reftest failures. ? Bjacob & Mattwoodrow P2 ?
WebGL 1.0 full conformance bjacob There's a good WebGL conformance test suite, and we already pass 98% of it. Make it 100%. ? bjacob P2 2 weeks
WebGL float textures extension bjacob This is a massively useful extension, Chrome supports it, and some cool WebGL apps require it. ? tbd (I think that Vlad had a patch) P2 1 week
WebGL on Windows: default to OpenGL using D3D interop where possible bjacob Not using ANGLE can allow for a great performance boost, given good OpenGL drivers and D3D interop. ? bjacob & jrmuizel P2 ?
Cross Process WebGL Stuart(Fennec) Blizzard(Desktop) In the future we will need a way to render WebGL fast, without readback from a content process and render it into the composition process, to avoid the performance impact from readback to software. Fennec Unknown(ASAP?), Desktop e10s (Fx7) tbd P2 ?
Fennec 2D HW Acceleration Stuart 2D Hardware Acceleration is important on mobile to further improve performance characteristics. ? tbd P2 ?
Container Layer Masking/Clipping Roc Make container layers support clip-path, filter and mask APIs, including clipping to rounded-rectangles, so we can avoid dropping down to fallback, avoiding performance hits. ? tbd P2 ?
Border Drawing Performance Roc Border drawing is currently slower than it should be, this requires work. ? tbd P2 ?
Accelerated Filters Roc Numerous filters could potentially be accelerated through layers. Leading to performance improvements. ? tbd P2 ?
Async Publishing of Video Frames Roc Needs motivation ? tbd P2 ?
Layers Animation API Roc By making animations implicitly supported inside layers, those animations can be executed asynchronously in the composition process, allowing for smoother animation. ? tbd P3 ?
Common Benchmark Perf Improvements Blizzard It's important to perform well on commonly quoted benchmarks. Even when they are not necessarily representative of common browser usage they strongly influence impression of browser performance. Continuous tbd ? ?
NGFX Internal Replacing cairo with a more modern, flexible graphics library is deemed needed for a variety of performance & long term multiprocess needs ? (Fx8?) Bas & Roc ? ?

Old list

Lower fruit

  • Improve video performance - profiling and fixing problems
  • better qcms ICCv4 support
    • jrmuizel
  • CSS 3D transforms
    • bjacob
    • joe

Medium sized

  • Define new 2D API and prototype it on D2D
  • Implement cairo-surface-backend and Quartz backends for new 2D API
  • Implement GL backend for new 2D API
  • border support in layers (9 part layers) - this should let us hardware accelerate border type effects better
    • joe
    • roc: I'm not sure what the goal is here. We need to rework border drawing on the layout side, but I don't think layers and borders are related.
  • accelerated layers on linux
    • bjacob
    • joe
  • switch away from xlib to cairo-gl and/or image backends on linux (note: the size of this item depends a lot on the current status of cairo-gl: how much do we need to fix it ourselves?)
    • bjacob
    • joe - but we should probably not put more than one person on this
  • integrate cairo-gl (maybe just for canvas?) on Mac and Linux (and maybe WinXP with ANGLE?)
    • bjacob
    • joe
  • themeing using GetThemeBitmap() - bug 561265
  • Hardware accelerated plugin layers on windows
  • Layerize all remaining containers, namely SVG mask/clip-path/filters
  • Animation of layer properties offloaded to the compositing process
  • any WebGL work that would not make it into 4.0 (optimizations, still-in-flux parts of the spec such as color correction, lost-context events, using ARB_robustness...?)
    • bjacob

Things that would be nice

  • software rasterizer tuning - we could probably use a quick and dirty rasterizer for mobile where the pixels are small