Platform/GFX/2012-June-11
From MozillaWiki
- Every Monday at 2:30 PM Pacific Time
- +1 650 903 0800 x92 Conf# 99366
- +1 416 848 3114 x92 Conf# 99366
- +1 800 707 2533 (pin 369) Conf# 99366 (toll free, Skype)
- Video (Vidyo) link: https://v.mozilla.com/flex.html?roomdirect.html&key=vu1FKlkBlT29
- Vidyo room 9366 (if you have LDAP and can log in at https://v.mozilla.com)
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)
- Question: does Gaia use WebGL or CSS animations?
- 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
- Do we want to do asynchronous scrolling on desktop?
- 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.