Platform/GFX/Firefox.next: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 12: | Line 12: | ||
| For best possible performance on Fennec layers are required to be accelerated on Fennec. | | For best possible performance on Fennec layers are required to be accelerated on Fennec. | ||
| ? | | ? | ||
| | | Jrmuizel & Bjacob | ||
| ? | | ? | ||
|- | |- | ||
Line 40: | Line 40: | ||
| 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. | | 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 | ||
| ? | | ? | ||
|- | |- | ||
Line 46: | Line 46: | ||
| bjacob | | bjacob | ||
| There's a good WebGL conformance test suite, and we already pass 98% of it. Make it 100%. | | There's a good WebGL conformance test suite, and we already pass 98% of it. Make it 100%. | ||
| | | ? | ||
| bjacob | | bjacob | ||
| 2 weeks | | 2 weeks | ||
Line 54: | Line 54: | ||
| 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 | | 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 | | Firefox 6 | ||
| bjacob | | bjacob & jrmuizel | ||
| 1 week | | 1 week | ||
|- | |- | ||
Line 60: | Line 60: | ||
| bjacob | | bjacob | ||
| This is a massively useful extension, Chrome supports it, and some cool WebGL apps require it. | | This is a massively useful extension, Chrome supports it, and some cool WebGL apps require it. | ||
| | | ? | ||
| tbd (I think that Vlad had a patch) | | tbd (I think that Vlad had a patch) | ||
| 1 week | | 1 week | ||
Line 68: | Line 68: | ||
| Not using ANGLE can allow for a great performance boost, given good OpenGL drivers and D3D interop. | | Not using ANGLE can allow for a great performance boost, given good OpenGL drivers and D3D interop. | ||
| ? | | ? | ||
| | | bjacob & jrmuizel | ||
| ? | | ? | ||
|- | |- | ||
Line 75: | Line 75: | ||
| 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. | | 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 | | Continuous | ||
| | | bjacob & jp | ||
| Continuous | | Continuous | ||
|- | |- | ||
Line 96: | Line 96: | ||
| Replacing cairo with a more modern, flexible graphics library is deemed needed for a variety of performance & long term multiprocess needs | | Replacing cairo with a more modern, flexible graphics library is deemed needed for a variety of performance & long term multiprocess needs | ||
| ? (Fx8?) | | ? (Fx8?) | ||
| | | Bas & Roc | ||
| ? | | ? | ||
|- | |- | ||
Line 103: | Line 103: | ||
| 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. | | 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 124: | Line 124: | ||
| CSS 3D transforms need to be supported by layers for good performance when we start supporting them. | | CSS 3D transforms need to be supported by layers for good performance when we start supporting them. | ||
| ? | | ? | ||
| | | Mattwoodrow | ||
| ? | | ? | ||
|- | |- |
Revision as of 22:13, 28 March 2011
Feature/Request | Contact | Reason | Target | GFX Owner | Estimated Work |
Fennec Layers Acceleration | Blizzard/Stuart | For best possible performance on Fennec layers are required to be accelerated on Fennec. | ? | Jrmuizel & Bjacob | ? |
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?) | tbd | ? |
Fennec Gradient Performance | Blizzard | Common use cases slowed down by poorly performing gradients on ARM | ? | tbd | ? |
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 | ? |
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 | ? |
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 | 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 | 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) | 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 | ? |
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 | 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 | ? |
Fennec 2D HW Acceleration | Stuart | 2D Hardware Acceleration is important on mobile to further improve performance characteristics. | ? | 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 | ? |
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 | ? |
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 | ? |
Border Drawing Performance | Roc | Border drawing is currently slower than it should be, this requires work. | ? | tbd | ? |
Layers 3D Transforms | Roc | CSS 3D transforms need to be supported by layers for good performance when we start supporting them. | ? | Mattwoodrow | ? |
Accelerated Filters | Roc | Numerous filters could potentially be accelerated through layers. Leading to performance improvements. | ? | tbd | ? |
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 | ? |
Async Publishing of Video Frames | Roc | Needs motivation | ? | tbd | ? |
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