Mozilla2:GFXEvolution: Difference between revisions

no edit summary
No edit summary
No edit summary
Line 1: Line 1:
Here's a plan I suggested for how to do this work. Various parts are controversial (hello vlad!). Some can be done in parallel.
This is the current plan. Some can be done in parallel.


# Get gfx/cairo (an implementation of our current gfx interfaces based on [[Cairo]]) into working order.
# Wrap [[Cairo]] in "Thebes", thin [[Mozilla2:NewGFXAPIs|C++ wrappers]] over [[Cairo]] APIs which can be used by advanced rendering customers --- [[SVG]], view manager --- when gfx/cairo is in use.
# gfx/cairo exposes thin [[Mozilla2:NewGFXAPIs|C++ wrappers]] over [[Cairo]] APIs which can be used by advanced rendering customers --- [[SVG]], view manager --- when gfx/cairo is in use.
# Get gfx/cairo (an implementation of our current gfx interfaces based on Thebes) into working order.
# Work on gfx/cairo performance until it performs as well as gfx/win, gfx/mac and gfx/gtk on our normal Web workloads on modest machines (e.g., without GPUs). Will require significant work on [[Cairo]] itself.
# Work on gfx/cairo performance until it performs as well as gfx/win, gfx/mac and gfx/gtk on our normal Web workloads on modest machines (e.g., without GPUs). Will require significant work on [[Cairo]] itself.
# Wherever possible, drop platform gfx implementations in favour of using gfx/cairo on the platform. Ideallly we'll end up with just gfx/cairo and possibly some gfx implementation for embedded devices.
# Wherever possible, drop platform gfx implementations in favour of using gfx/cairo on the platform. Ideallly we'll end up with just gfx/cairo and possibly some gfx implementation for embedded devices.
1,295

edits