3 ms·
So, one thing that myself and others on the team have been working on is moving things out of the main thread/process. There's a big push by the whole team to
by daeken 14y ago
So, one thing that myself and others on the team have been working on is moving things out of the main thread/process. There's a big push by the whole team to get everything working cross-process, so that we can start separate processes for each application; that should let us mitigate the problem of GC pauses and the like. One other big push is making everything off-main-thread composited. That lets the graphics work happen more or less independent of the main thread, and frees it up to do standard processing, in addition to letting animations and the like run async (much smoother).
There's a lot of work still to be done, but those pauses should go away over time.
- AndrewDucker 14y agoThat's fantastic news. I've been very impressed with the amount of improvements Firefox has been undergoing recently.
- daeken 14y agoI should point out that this work is mostly specific to Boot2Gecko. A lot of it is shared with Mobile Firefox, though, and a good bit of it will probably make its way to the desktop eventually as well, but I honestly have no idea on that count (I don't work on Firefox proper).
- AndrewDucker 14y agoI hadn't realised that the codebase was so different. How much code is actually shared between B2G, Mobile and Desktop?
- daeken 14y agoQuite a lot. I mean, it's the same Gecko core, but there are a lot of pieces to Gecko. Mobile and B2G both use the same EGL backend for gfx, but they use different widgets and some different optimizations (e.g. we know that we have permissions for gralloc on B2G, so we don't use a tiled backend). Desktop and Mobile/B2G share the layout, JS, etc but you've got all sorts of different gfx backends that could be used. Same code, just a lot of divergent pathways.
- wodemaye__ 14y agoWoah dude, that's gotta be damn exciting. Good job. (It's me from freenode :b )