Closed Bug 721216 Opened 12 years ago Closed 12 years ago

Bitmap compression on main thread causes the tab strip to take a long time to appear

Categories

(Firefox for Android Graveyard :: General, defect)

ARM
Android
defect
Not set
normal

Tracking

(firefox11 fixed, firefox12 fixed, fennec11+)

RESOLVED FIXED
Firefox 12
Tracking Status
firefox11 --- fixed
firefox12 --- fixed
fennec 11+ ---

People

(Reporter: pcwalton, Assigned: blassey)

References

Details

(Keywords: perf, Whiteboard: [inbound])

Attachments

(1 file)

It can take a few seconds for the tabs to appear when the tab strip button is tapped. This is due to this call stack:

* Bitmap.nativeCompress
* Bitmap.compress
* GeckoApp.getAndProcessThumbnailForTab
* Tabs.refreshThumbnails
* TabsTray.onCreate
Attached patch patchSplinter Review
Attachment #591638 - Flags: review?(pwalton)
This helps significantly. It still takes too long to open the tab strip (about a second), and switching tabs takes a long time as well, but those are separate bugs.
Comment on attachment 591638 [details] [diff] [review]
patch

Review of attachment 591638 [details] [diff] [review]:
-----------------------------------------------------------------

r=me.

But can we put image decoding in a background thread so that it doesn't block the UI at all?

::: mobile/android/base/Tabs.java
@@ +221,5 @@
> +        GeckoAppShell.getHandler().post(new Runnable() {
> +            public void run() {
> +                Iterator<Tab> iterator = tabs.values().iterator();
> +                while (iterator.hasNext())
> +                    GeckoApp.mAppContext.getAndProcessThumbnailForTab(iterator.next());

nit: {}
Attachment #591638 - Flags: review?(pwalton) → review+
https://hg.mozilla.org/integration/mozilla-inbound/rev/7f26e362a9f7
tracking-fennec: --- → 11+
Whiteboard: [inbound]
https://hg.mozilla.org/mozilla-central/rev/7f26e362a9f7
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 12
Comment on attachment 591638 [details] [diff] [review]
patch

[Approval Request Comment]
Regression caused by (bug #): 
User impact if declined: 
Tab menu opens slowly
Testing completed (on m-c, etc.): 
Risk to taking this patch (and alternatives if risky):
This patch depends on bug 721308 since it is possible to cause a crash with it alone. With both patches this is pretty safe.
Attachment #591638 - Flags: approval-mozilla-aurora?
Depends on: 721308
Comment on attachment 591638 [details] [diff] [review]
patch

[Triage Comment]
Mobile only - approved for Aurora.
Attachment #591638 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: