Platform/GFX/2012-June-11

From MozillaWiki
< Platform‎ | GFX
Jump to: navigation, search

Urgent Bug Triage

Bugs tracked for upcoming Firefox releases, in decreasing order of urgency:

Agenda

  • are we moving this meeting to Tuesday or another day (bjacob)
    • Wednesday seems to be the best option, but it is not uniformly better
    • We will stick with Monday, as it currently works
  • Performance fixes on desktop vs mobile (joe)
    • What should we do when people bring us performance problems on desktop?
    • Joe's straw proposal: spend 30 minutes profiling and file the bugs when testcases come in
    • People have concerns that we might leave things by the wayside by focusing on non-current desktop usecases.
    • We probably need to err on the side of OMTC, B2G and mobile for a little while, but never hesitate to bring things up to JP/your manager if you think something is important.
  • B2G update (joe)
    • Question: does Gaia use WebGL or CSS animations?
      • Answer: Gaia uses WebGL for games, but not UI.
      • CSS animations & transitions for UI.
    • Question: What is B2G's OMTC status?
      • Answer: OMTC turned on by default.
      • Cross-thread compositing is turned off if content processes are turned on; cjones owns fixing that.
    • Question: Does the Gecko profiler work on B2G? It should be made to.
      • Answer: Not yet. This is bug 758697.
      • BenWa to work with Daeken on getting it up and running.
        • 1 to 2 days of work (pessimistic)
  • Multi-resolution cached tile plan (BenWa)
    • Cwiiis wrote a "sort of quirky" tile cache that works right now.
    • Want to get tile based drawing that can be done in chunks, instead of all or nothing.
    • Also want tiles to work at multiple resolutions.
    • Milestones:
      • Part 1: Partial layer updates and drawing tiles based on priority
      • Part 2: Extending the display port and replacing the screenshoting
        • Way larger displayport, which can be drawn in chunks.
        • Smaller region around the viewport which is in high resolution, the rest is low resolution.
        • Would make it possible for us to remove the Java screenshotting.
        • Possible that display list construction gets more expensive because of huge displayports (applicable on each paint)
        • Risky, because of above, we're not sure we'll get to where we want to be performance-wise.
        • Worst-case, we could be same performance but more responsive.
        • Display list retention!!! Our new panacea
    • Memory impact?
      • Keeping around low-resolution tiles, but totally configurable.
    • Benoit suggests we work on part 1, then work on improving upload (SurfaceTexture/EGLImage/whatever), and only then work on part 2.
    • Need to talk to roc/tn/mats/etc about display list issues.
  • OMTC + WebGL update (jgilbert)
    • Getting towards the end of work
    • romaxa has a good base setup using double-buffering by copying the framebuffer
    • jgilbert working on no-copy double-buffering by reusing the texture and sending it across
    • jgilbert needs pointers as to how to actually do the sharing, but it should be ready "this week."
    • Easiest on OGL layers; BasicLayers a little trickier.
    • Q: will this work without ARB_sync?
      • A: Yes, but without ARB_sync we have to do glFinish().
      • There's also EGLsync() or something similar for other platforms.
    • Q: B2G?
      • A: Should be OK, lots of abstractions.
    • Q: Feasible for July deadline of B2G platform work?
      • A: Pessimistically, B2G should take < 1 week after OMTC WebGL on Fennec. Should be done by the end of June.
  • OMTC on Desktop (ajuma)
    • Do we want to do asynchronous scrolling on desktop?
      • Probably, especially if we have low-res tiles.
      • But we're not sure, so we should talk to UX.
      • IE10 (and maybe Safari?) does asynchronous scrolling.
    • What comes first: OS X or BasicLayers on Windows?
      • OS X is close to being working, and needs some fixup work before we can get it running.
      • Marco C is close to getting BasicLayers on Linux running.
    • There is some layers restructuring pending which should make OMTC implementation more cross-platform.
      • LayerManager, completely cross platform, and a Composition side, which knows how to do some limited things.
      • Bas is on tap to work on this. At least a couple of weeks of work.
      • Multiple people can work on this. Two parts:
        • Making OMTC use the new abstraction layer, not easily parallelizable
        • Writing backends, easily parallelizable
    • Ali and Bas to collaborate on the refactoring and implementing BasicLayers on azure.
      • 2-10 weeks of work
      • Aim to get stuff done at the work week
  • Retina display (BenWa)
    • Bug 674373
    • HiDPI mode on OS X
    • Hopefully the platform integration team can deal with most of this, but be on the lookout for work.