Closed Bug 660808 Opened 14 years ago Closed 14 years ago

Extremely slow startup on Nexus S compared to HTC Desire HD

Categories

(Firefox for Android Graveyard :: General, defect)

Firefox 4.0
ARM
Android
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: atopal, Assigned: dougt)

Details

Attachments

(2 files)

I have a Nexus S with the latest Google provided Android version, and installed Firefox 4.0 on it. Cold start takes over 10 seconds, reproducibly. The same app on an HTC Desire HD starts in about 3 seconds. Since both phones are of comparable hardware the startup time should be about the same. The extremely long startup time makes Firefox rather hard to use for me. That seems to be a bug. Is there anything I can try to reduce the startup time or a way to provide data to fix the bug, if it is one indeed?
Summary: Extremely slow startup → Extremely slow startup on Nexus S compared to HTC Desire HD
If you enable the error console (about:config devtools.errorconsole.enabled) you should be able to get exact timings for startup.
What code do you run to get the startup time?
Just set devtools.errorconsole.enabled = true in about:config and look at the error console. It will show the timings.
Kadir, you need to download the latest nightly build: https://wiki.mozilla.org/Mobile/Platforms/Android#Download_Nightly, and then enable the error console as per above. You should then see the startup figures. Please report those back here. Thanks!
So, here are the results: Could not read chome manifest file '/data/dataorg.mozilla.fennec/chrome.manifest timing main: 4805ms timing first paint: 8103ms timing session restored 7497ms this is with the latest nightly.
On my Nexus One, using the Nightly I get: timing main: 1592ms timing first paint: 2817ms timing session restored 2472ms Comparing the two, "main" and "firstPaint" are the largest differences. Taking almost 5 secs to get to the "main" checkpoint is horrible. Kadir, do you happen to have the Android SDK installed? If so you can use "adb logcat" to get a trace of the startup and it will give us data on the Gecko library loading times. If you don't have the Android SDK installed, you can install "aLogcat" from the Android Market. It is an app that let's you see the trace and you can get the log off the device and attach it to this bug. Just start aLogcat and clear the log, then start Fennec Nightly and attach the results of the log.
That's strange, now it just works, more or less the same results as mfinkle :/ Unfortunately I don't know what caused it to start so slow in the first place. I'll leave this bug open and try it a bit more.
For comparison, my Nexus One and S Nexus One -- timing main: 1905ms timing first paint: 3265ms timing session restores: 3604ms Nexus S -- timing main: 4858ms first paint: 9324ms session restored: 9782ms Getting similar results on the S, I wonder if it has something to do with installing libraries which I only see on the S.
(In reply to comment #9) > Getting similar results on the S, I wonder if it has something to do with > installing libraries which I only see on the S. Got any logcat output?
Attached file Nexus S (logcat)
(In reply to comment #10) > (In reply to comment #9) > > > Getting similar results on the S, I wonder if it has something to do with > > installing libraries which I only see on the S. > > Got any logcat output? See attachment
tracking-fennec: --- → ?
Attached patch patchSplinter Review
Assignee: nobody → blassey.bugs
Attachment #546650 - Flags: review?(doug.turner)
Comment on attachment 546650 [details] [diff] [review] patch i really hate the idea that two threads are racing on this. Can we first add something like: + NS_ABORT_IF_FALSE(NS_IsMainThread(), "not main thread"); to nsWindow:GetLayerManager?
tracking-fennec: ? → 8+
Comment on attachment 546650 [details] [diff] [review] patch we need to know why this is happening before patching it.
Attachment #546650 - Flags: review?(doug.turner) → review-
I don't have a nexus s to investigate this with, assigning to dougt
Assignee: blassey.bugs → doug.turner
I see: 7 seconds to startup and create a profile. 3 seconds to warm startup This phone is stock, no additional software was installed. Aaron, are you still seeing this? If so, can you run: adb shell pm list packages Do you have your profile on the SD card? If you move your profile to the SD card (or move it back from the SD card), does this problem go away?
Nightly: 08/01, Android 2.3.4, Nexus S Cold startup, new profile: [timing] main: 6554ms, firstPaint: 14031ms, sessionRestored: 13134ms --- (Data: 0.0B, Cache, 0.0B) Warm startup, existing profile: [timing] main: 1138ms, firstPaint: 2331ms, sessionRestored: 2045ms --- Total (20.60MB), Application (15.00MB), Data (5.60MB), Cache (16.26MB) - Moving to USB - Cold startup, new profile: [timing] main: 6820ms, firstPaint: 11881ms, sessionRestored: 11206ms Warm startup, existing profile: [timing] main: 1296ms, firstPaint: 2930ms, sessionRestored: 2683ms Only first-run on a new profile is this a problem, either on the phone or moving to USB.
by moving to usb do you you mean moving the profile to SD?
(In reply to comment #18) > by moving to usb do you you mean moving the profile to SD? "Move to USB storage" in Nightly application preferences in Android.
The Nexus S does not have Micro SD storage.
Aaron - Does this mean we can close this bug? Those warm times are as fast as we get. The cold times seem reasonable given we are extracting the libs. There might be some dispute over whether extracting and caching the libs is faster overall (cold and warm balance) versus just extracting the libs from the APK all the time.
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → WONTFIX
tracking-fennec: 8+ → ---
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: