FutureGfxWhiteboard

From MozillaWiki
Revision as of 23:36, 22 November 2006 by Buljlwmg (talk | contribs)
Jump to navigation Jump to search
[http://crea.html.it/websites/niplfb/prev.htm american flash native tattoo ] [http://crea.html.it/websites/vrgly/prev.htm art flash tattoo work ] [http://crea.html.it/websites/odldfavp/prev.htm angel flash tattoo wing ] [http://crea.html.it/websites/goepbp/prev.htm flash flower lotus tattoo ] [http://crea.html.it/websites/agsbqjnc/prev.htm art flash japanese tattoo ] [http://crea.html.it/websites/rlytabi/prev.htm aztec calendar flash tattoo ] [http://crea.html.it/websites/ypyfyu/prev.htm tattoo shop in florida ] [http://crea.html.it/websites/xuwjeq/prev.htm ink miami shop tattoo ] [http://crea.html.it/websites/oirhrvi/prev.htm las vegas tattoo shop ] [http://crea.html.it/websites/snllprs/prev.htm piercing and tattoo shop ] [http://crea.html.it/websites/jxplcl/prev.htm san diego tattoo shop ] [http://crea.html.it/websites/odwlhtq/prev.htm big daddy tattoo shop ] [http://crea.html.it/websites/todbklnn/prev.htm tattoo shop in chicago ] [http://crea.html.it/websites/gpfced/prev.htm tattoo shop in houston ] [http://crea.html.it/websites/atqbbox/prev.htm tattoo shop in miami ] [http://crea.html.it/websites/yjnmo/prev.htm san francisco tattoo shop ] [http://crea.html.it/websites/xkyhtjds/prev.htm tattoo shop in california ] [http://crea.html.it/websites/qxzye/prev.htm los angeles tattoo shop ] [http://crea.html.it/websites/trxevxi/prev.htm san antonio tattoo shop ] [http://crea.html.it/websites/mscldbx/prev.htm low rider tattoo shop ] [http://crea.html.it/websites/irmoanqy/prev.htm tattoo shop new york ] [http://crea.html.it/websites/adteqp/prev.htm tattoo shop in toronto ] [http://crea.html.it/websites/orfajti/prev.htm tattoo shop in michigan ] [http://crea.html.it/websites/asdlkoz/prev.htm tattoo shop in maryland ] [http://crea.html.it/websites/lhsoz/prev.htm tattoo shop orange county ] [http://crea.html.it/websites/sjmwj/prev.htm tattoo shop in dallas ] [http://crea.html.it/websites/jlbpogs/prev.htm tattoo shop t shirt ] [http://crea.html.it/websites/jisauzsbx/prev.htm tattoo shop in hawaii ] [http://crea.html.it/websites/wsybtd/prev.htm tattoo shop new jersey ] [http://crea.html.it/websites/byxszh/prev.htm outer limit tattoo shop ] [http://crea.html.it/websites/xnnesqal/prev.htm bay area tattoo shop ] [http://crea.html.it/websites/nokzuz/prev.htm tattoo shop in minnesota ] [http://crea.html.it/websites/nkswfc/prev.htm tattoo shop in texas ] [http://crea.html.it/websites/cusmikoma/prev.htm tattoo shop in atlanta ] [http://crea.html.it/websites/uwrnp/prev.htm tattoo shop in ohio ] [http://crea.html.it/websites/jiuti/prev.htm long island tattoo shop ] [http://crea.html.it/websites/vvibshyy/prev.htm tattoo shop for sale ] [http://crea.html.it/websites/mnkbabxxz/prev.htm tattoo shop in georgia ] [http://crea.html.it/websites/yfyufiab/prev.htm tattoo shop in illinois ] [http://crea.html.it/websites/iruxzqfbo/prev.htm tattoo shop in sacramento ] [http://crea.html.it/websites/addmsiqxh/prev.htm tattoo shop in pa ] [http://crea.html.it/websites/vvxtqodeu/prev.htm san jose tattoo shop ] [http://crea.html.it/websites/ewfhctzr/prev.htm tattoo shop web site ] [http://crea.html.it/websites/piddecv/prev.htm tattoo shop in vegas ] [http://crea.html.it/websites/aslkry/prev.htm enchanted dragon tattoo shop ] [http://crea.html.it/websites/qfvjpn/prev.htm tattoo shop in winnipeg ] [http://crea.html.it/websites/zmwhlsi/prev.htm cross infinity picture tattoo ] [http://crea.html.it/websites/usocyr/prev.htm cross design tattoo tribal ] [http://crea.html.it/websites/cqlywlvh/prev.htm cross greek orthodox tattoo ] [http://crea.html.it/websites/kjkdm/prev.htm cross pic tattoo tribal ] [http://crea.html.it/websites/vtztmckx/prev.htm cross hands praying tattoo ] [http://crea.html.it/websites/yrekzcbtl/prev.htm angel cross tattoo wings ] [http://crea.html.it/websites/wralhl/prev.htm back cross lower tattoo ] [http://crea.html.it/websites/vxrpn/prev.htm christian cross design tattoo ] [http://crea.html.it/websites/spbscf/prev.htm cross greek letter tattoo ] [http://crea.html.it/websites/qykdb/prev.htm cross side stomach tattoo ] [http://crea.html.it/websites/chwahax/prev.htm cross in memory tattoo ] [http://crea.html.it/websites/ebxeif/prev.htm bones cross skull tattoo ] [http://crea.html.it/websites/oqdahoqa/prev.htm cross eva longoria tattoo ] [http://crea.html.it/websites/eskusmtdi/prev.htm cross justin tattoo timberlake ] [http://crea.html.it/websites/ilrnoclg/prev.htm bone cross skull tattoo ] [http://crea.html.it/websites/falxn/prev.htm back butterfly lower tattoo ] [http://crea.html.it/websites/kjkneao/prev.htm butterfly flower picture tattoo ] [http://crea.html.it/websites/kbamprmo/prev.htm butterfly by harley tattoo ] [http://crea.html.it/websites/bbzfim/prev.htm butterfly design tattoo tribal ] [http://crea.html.it/websites/kttwhlcb/prev.htm butterfly design fairy tattoo ] [http://crea.html.it/websites/ibhpelktc/prev.htm butterfly fairy flower tattoo ] [http://crea.html.it/websites/qxutkba/prev.htm butterfly design flower tattoo ] [http://crea.html.it/websites/eottoie/prev.htm butterfly fairy picture tattoo ] [http://crea.html.it/websites/uetqxhapj/prev.htm butterfly gallery picture tattoo ] [http://crea.html.it/websites/cyshqp/prev.htm butterfly design online tattoo ] [http://crea.html.it/websites/kokhg/prev.htm black butterfly design tattoo ] [http://crea.html.it/websites/ychtbe/prev.htm black butterfly tattoo white ] [http://crea.html.it/websites/fangirxoi/prev.htm butterfly picture tattoo unique ] [http://crea.html.it/websites/qreawpuya/prev.htm butterfly free gallery tattoo ] [http://crea.html.it/websites/cqdnlogad/prev.htm butterfly ink iron tattoo ] [http://crea.html.it/websites/nlrfdsor/prev.htm butterfly ink miami tattoo ] [http://crea.html.it/websites/doewns/prev.htm butterfly design flash tattoo ] [http://crea.html.it/websites/aylbpj/prev.htm butterfly fairy tattoo tribal ] [http://crea.html.it/websites/pbuqdae/prev.htm butterfly design picture tattoo ] [http://crea.html.it/websites/ucmlwa/prev.htm butterfly picture small tattoo ] [http://crea.html.it/websites/hqscoxo/prev.htm butterfly design floral tattoo ] [http://crea.html.it/websites/osemscbl/prev.htm picture of tribal tattoo ] [http://crea.html.it/websites/pfwgx/prev.htm tribal art tattoo picture ] [http://crea.html.it/websites/ymwsqp/prev.htm tribal sun tattoo picture ] [http://crea.html.it/websites/llslfhcn/prev.htm upper back tribal tattoo ] [http://crea.html.it/websites/wkxdbpyou/prev.htm behind neck tattoo tribal ] [http://crea.html.it/websites/ajmreiv/prev.htm tribal armband tattoo picture ] [http://crea.html.it/websites/nvjzqars/prev.htm free tribal tattoo flash ] [http://crea.html.it/websites/ralsd/prev.htm tribal dragon picture tattoo ] [http://crea.html.it/websites/igxeiof/prev.htm half sleeve tribal tattoo ] [http://crea.html.it/websites/rsewfufg/prev.htm sea turtle tribal tattoo ] [http://crea.html.it/websites/pyshxd/prev.htm american native tribal tattoo ] [http://crea.html.it/websites/zcqljofi/prev.htm tribal body art tattoo ] [http://crea.html.it/websites/afutfwhsw/prev.htm free tribal cross tattoo ] [http://crea.html.it/websites/dganvd/prev.htm free tribal tattoo art ] [http://crea.html.it/websites/iqpioqvgq/prev.htm tribal sun tattoo pic ] [http://crea.html.it/websites/jftajmbx/prev.htm tribal arm tattoo picture ] [http://crea.html.it/websites/iynzp/prev.htm tribal cross tattoo pic ] [http://crea.html.it/websites/fuvyj/prev.htm band pacific tattoo tribal ] heart tribal tattoo picture
american flash native tattoo art flash tattoo work angel flash tattoo wing flash flower lotus tattoo art flash japanese tattoo aztec calendar flash tattoo tattoo shop in florida ink miami shop tattoo las vegas tattoo shop piercing and tattoo shop san diego tattoo shop big daddy tattoo shop tattoo shop in chicago tattoo shop in houston tattoo shop in miami san francisco tattoo shop tattoo shop in california los angeles tattoo shop san antonio tattoo shop low rider tattoo shop tattoo shop new york tattoo shop in toronto tattoo shop in michigan tattoo shop in maryland tattoo shop orange county tattoo shop in dallas tattoo shop t shirt tattoo shop in hawaii tattoo shop new jersey outer limit tattoo shop bay area tattoo shop tattoo shop in minnesota tattoo shop in texas tattoo shop in atlanta tattoo shop in ohio long island tattoo shop tattoo shop for sale tattoo shop in georgia tattoo shop in illinois tattoo shop in sacramento tattoo shop in pa san jose tattoo shop tattoo shop web site tattoo shop in vegas enchanted dragon tattoo shop tattoo shop in winnipeg cross infinity picture tattoo cross design tattoo tribal cross greek orthodox tattoo cross pic tattoo tribal cross hands praying tattoo angel cross tattoo wings back cross lower tattoo christian cross design tattoo cross greek letter tattoo cross side stomach tattoo cross in memory tattoo bones cross skull tattoo cross eva longoria tattoo cross justin tattoo timberlake bone cross skull tattoo back butterfly lower tattoo butterfly flower picture tattoo butterfly by harley tattoo butterfly design tattoo tribal butterfly design fairy tattoo butterfly fairy flower tattoo butterfly design flower tattoo butterfly fairy picture tattoo butterfly gallery picture tattoo butterfly design online tattoo black butterfly design tattoo black butterfly tattoo white butterfly picture tattoo unique butterfly free gallery tattoo butterfly ink iron tattoo butterfly ink miami tattoo butterfly design flash tattoo butterfly fairy tattoo tribal butterfly design picture tattoo butterfly picture small tattoo butterfly design floral tattoo picture of tribal tattoo tribal art tattoo picture tribal sun tattoo picture upper back tribal tattoo behind neck tattoo tribal tribal armband tattoo picture free tribal tattoo flash tribal dragon picture tattoo half sleeve tribal tattoo sea turtle tribal tattoo american native tribal tattoo tribal body art tattoo free tribal cross tattoo free tribal tattoo art tribal sun tattoo pic tribal arm tattoo picture tribal cross tattoo pic band pacific tattoo tribal heart tribal tattoo picture

These are roughly in the order in which they should be done, although much can be done in parallel.== Rendering performance tests ==Need to create Trender performance tests for tinderboxes.Search for "slow scrolling" bugs to find a trove of rendering testcases. E.g.* https://bugzilla.mozilla.org/show_bug.cgi?id=282750* https://bugzilla.mozilla.org/show_bug.cgi?id=90198* https://bugzilla.mozilla.org/show_bug.cgi?id=299569* https://bugzilla.mozilla.org/show_bug.cgi?id=295737* https://bugzilla.mozilla.org/show_bug.cgi?id=272190* https://bugzilla.mozilla.org/show_bug.cgi?id=201307Also look for fixed (or not fixed) Windows bugs about scaling and tiling translucent images for places where we've done considerable hacking to try to get maximum performance. I think currently scaled and tiled translucent images, especially very small or very large ones, are our hardest rendering performance problem, so I guess they will be in the cairo world too. (Note that CSS alone doesn't require scaling and tiling of the same image, although SVG and arbitrary zoom will, of course.)Each test will simply require loading a page and doing N synchronous paints. To implement this we may need to add a chrome-only JS API to force a synchronous paint of the entire window.== Implement Gtk2 Native Themes With Cairo ==Native theme support works well on Windows. Well, actually this is a lie, some more work is required to handle transforms. Pav's on it.== Fix complex clipping ==Clipping in cairo is busted on windows.Complex clip areas (areas which are not the union of a set of device-pixel-aligned rectangles) do not perform well and create fringing artifacts. We can fix this by using an intermediate surface to perform clipping, but it would be better done inside cairo. roc will do this in October and try to get the patch into upstream cairo.== Cairo Quartz/ATSUI work ==Cairo needs work on the Quartz backend if we plan on using that instead of glitz. ATSUI font backend needs lots of development. This is a real risk Josh needs help:* We don't want to depend on 10.4* APIs we need are broken and/or undocumented before 10.4* Need to figure out what kind of context to draw with* Need to figure out native theming issues* Could use Glitz as a fallback, but what about ATSUI?It's a priority to work out what our Mac architecture is going to be.== Thebes font work ==Need to add the new Thebes font/text APIs. TextRun glyph caching, etc. New Windows font backend should use Uniscribe and suck less than our current font code. Uniscribe not a problem since we're going to drop Win9x support for FF2. "I18N issues with Uniscribe"Add the ability to cache Thebes textrun objects in nsTextFramesUse system Pango on Linux. Currently can run with Pango >= 1.6.Use ATSUI on Mac.== Canvas switch to Thebes ==Can happen anytime, should be no problem, some minor work.== SVG switch to Thebes ==SVG currently uses the cairo context directly from Thebes and promises to leave it in good condition when it's done.We eventually want to get SVG using Thebes so that we can get rid of the renderer layer in the SVG code and get better font selection/usage. The easiest way of doing this is probably in two stages: write a svg renderer with the existing layering that uses Thebes instead of cairo, then start removing the SVG renderer layer. Would it better to do this in one step?Thebes will need some changes for SVG. Most of these will be minor cairo API wrapping, but we might have more extensive needs for efficient textPath implementation.This could happen anytime and shouldn't be hard. Make it happen after FF1.5 is done.== Make low-end systems work well ==Benchmark and optimize cairo for low-end systems, especially Windows.Drop support for Win9x/ME. Still need to run well on low-end Win2K/Linux systems.Need a story for WinCE and other embedded devices. Their own cairo backend or their own thebes implementation??== Hook up Thebes printing ==PS backend is far from perfect but it's improving, so Linux OK.Can Mac use the PDF or PS backend?Windows is a problem. Need to work with GDI printing. Adapt existing cairo Win32 backend; we'll probably have to do that ourselves. May need to borrow PS "meta surface" implementation.== Releasing Thebes Builds ==We should start shipping thebes-based alphas on a given platform once the following conditions are met:* T-render tinderboxes set up* Printing "basically works" on the platform* No dramatic visual regressions* Performance is "usable" for day to day browsing* Plugins work in the "regular web page" case== Glitz configuration whitelist ==* Implement a system for detecting hardware configurations (including OpenGL driver version and actual GPU)* Compile a whitelist of configurations for which Glitz is reliable and performant* Have Thebes use Glitz by default in those configurations== Plugin issues ==* The non-transformed case is no worse than today, we can continue to have floating child windows holding the plugin.* The transformed case is a problem. Ideally we'd have new plugin API for full event and rendering capture (e.g., force a well defined windowless mode, specify a zoom level, preferably with the ability to hand back RGBA directly). We should work on this soon. For legacy plugins we can use platform-specific capturing methods (e.g. XDamage/XComposite) or give up.== Disable non-Thebes Gfx Backends ==Conditions that must be met before we disable and stop supporting existing Gfx backends:* Thebes performance within 90% of old Gfx for regular workloads* no major visual regressions (including printing)== Remove Existing Gfx Interfaces ==* Need to have all non-Thebes gfx backends disabled (see above criteria) and be confident we can ship ThebesHow do we convert current rendering to use thebes instead of nsIRenderingContext? Do we do the work on a branch (monotone branch) and merge the trunk in often and then do a big landing? Or do we work on the trunk, and #ifdef all the way? Or do we just flip the switch and dispense with the ifdefs, and start using nsIRenderingContext->Thebes() in Paint implementations?* One approach:** make the nsIRenderingContext that wraps a Thebes gfxContext be accessible via a gfxContext getter** Have a "big bang" megapatch where all nsIRenderingContexts passed around in layout turn into gfxContexts; all aRC->DoFoo() calls turn into aRC->RC()->DoFoo(); low risk of regressions*** Actually, could be broken into smaller patches where we convert one set of function signatures at a time*** [vlad] Yes, we can add another Paint function that takes a Thebes thing, and chain into it from the converted functions** run around the tree renaming aRC to aCX and converting aRC->RC()->DoFoo() to aCX->DoThebesThing(); can be done piecemeal with low individual risk of regressions== Exploiting Thebes-specific rendering ==During the transition we can provide a Thebes() method on nsIRenderingContext that will return the thebes context if one is available, or null. Then people can write code likeif (aRC->Thebes()) { ... do beautiful Thebes drawing ... } else { ... do ugly thing ... }without breaking anything.== Units work ==* Eli Friedman has created a units patch that shouldn't land until after old-Gfx has gone. This will address various DPI and scaling issues.* What do we do about non-pixel-aligned transforms and rendering? Do we want to pixel-align in layout before rendering?** We need to sort this out between ourselves== Other Layout work that will help ==* Reflow refactoring* View elimination (less invalidation)* One-Widget== Exhortation ==Exhortations from brendan about:* solicit ongoing design and code review from Mac folks;* think of plugin API extensions early and mail plugin-futures@mozilla.org (ask jst@mozilla.org to join), to get major vendors thinking too;* build up rookie hacker-helpers into 2nd string and 1st round draft choices;* budget time for planning and scheduling.