Platform/GFX/Firefox.next: Difference between revisions
Jump to navigation
Jump to search
m (add some tracking bugs) |
No edit summary |
||
Line 1: | Line 1: | ||
= Detailed list of projects = | |||
{| cellspacing="1" cellpadding="1" border="1" style="width: 100%; height: 113px;" | {| cellspacing="1" cellpadding="1" border="1" style="width: 100%; height: 113px;" | ||
|- | |- | ||
Line 223: | Line 225: | ||
*software rasterizer tuning - we could probably use a quick and dirty rasterizer for mobile where the pixels are small | *software rasterizer tuning - we could probably use a quick and dirty rasterizer for mobile where the pixels are small | ||
= 18 month possibilities = | |||
MoCo managers are trying to create a list of the work needing to be accomplished over the next 18 months. The idea is to build a better picture of where we need to hire, train, etc. Following is the work we think we might want the GFX group to accomplish in the next 18 months. | |||
# azure completed | |||
## 2D and 3D parts | |||
## option for accelerated layers on desktop | |||
## option for accelerated layers on mobile | |||
## cross process remoting | |||
# webgl | |||
## anti-aliasing | |||
## ongoing spec compliance work (even for 1.0) | |||
## webgl 2.0 | |||
## on going security and performance work | |||
## E10S support | |||
# Imagelib | |||
## code debt reduction | |||
## on going security and performance work | |||
# telemetry/metrics | |||
## better measurement of real-world performance | |||
# text | |||
## complete font spec implementation | |||
## harfbuzz full script coverage | |||
# OpenCL/WebCL | |||
# GLES Layers | |||
# Fully color corrected pipeline | |||
# Hardware-accelerated SVG filters | |||
# D3D11 Layers | |||
This list is not a roadmap or a committed plan, its a rough outline of some of the big things we are likely to want to do. In general I think we have the right skillsets, we just need more people with them. The only exceptions are perhaps 6) and 9) - some more hard core shader/HLSL expertise might be helpful. |
Revision as of 02:00, 15 June 2011
Detailed list of projects
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 | ? |
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 | ? |
NPAPI Mac Plugin Async Drawing | josh | to be filled in | ? | Benwa & Josh | 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 | P1 | ? |
Azure | Internal | Replacing cairo with a more modern, flexible graphics library is deemed needed for a variety of performance & long term multiprocess needs | Long Term | 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 | ? |
Text Rasterization Options | jfkthame & jdaggett | In order to diagnose text rasterization issues some people are experiencing we want to expose some additional rasterization options through about:config to allow users to evaluate their text rendering. | Fx6 | jfkthame & jdaggett | 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 | P2 | 1 week |
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 bug 644368 (partly) | P2 | ? |
Async Publishing of Video Frames | Roc | Needs motivation | ? | tbd bug 598868 | P2 | ? |
Implement new CSS Font Spec | jfkthame & jdaggett | 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 | ? | ? |
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
18 month possibilities
MoCo managers are trying to create a list of the work needing to be accomplished over the next 18 months. The idea is to build a better picture of where we need to hire, train, etc. Following is the work we think we might want the GFX group to accomplish in the next 18 months.
- azure completed
- 2D and 3D parts
- option for accelerated layers on desktop
- option for accelerated layers on mobile
- cross process remoting
- webgl
- anti-aliasing
- ongoing spec compliance work (even for 1.0)
- webgl 2.0
- on going security and performance work
- E10S support
- Imagelib
- code debt reduction
- on going security and performance work
- telemetry/metrics
- better measurement of real-world performance
- text
- complete font spec implementation
- harfbuzz full script coverage
- OpenCL/WebCL
- GLES Layers
- Fully color corrected pipeline
- Hardware-accelerated SVG filters
- D3D11 Layers
This list is not a roadmap or a committed plan, its a rough outline of some of the big things we are likely to want to do. In general I think we have the right skillsets, we just need more people with them. The only exceptions are perhaps 6) and 9) - some more hard core shader/HLSL expertise might be helpful.