Closed Bug 1117448 Opened 10 years ago Closed 6 years ago

[Dialer][dolphin][FFOS7715 v2.1] [performance] The time took for cold booting of dialer app is much longer

Categories

(Firefox OS Graveyard :: Gaia::Dialer, defect)

ARM
Gonk (Firefox OS)
defect
Not set
critical

Tracking

(blocking-b2g:-, tracking-b2g:-)

RESOLVED WONTFIX
blocking-b2g -
tracking-b2g -

People

(Reporter: arvin.zhang, Unassigned)

References

Details

(Keywords: perf, Whiteboard: [sprd388489][dp1])

Attachments

(1 file)

*** Build Information
Gaia-Rev        17c7ad2e4919a994f0844239b483116090412dee
Gecko-Rev       4f7c43e577a1a43be0af2c02383c1c56c8c4b756
Device-Name     dolphin(ea)

*** Description
The time took for cood booting of dialer app is much longer.

*** Steps to Reproduce
Pre-conditions: Call-logs(50);Contacts(250);Messages(100);Pictures(300);Songs(150);Videos(150)

1. Wait 5 minutes after device booted;
2. Click the dialer icon on homescreen and start counting;
3. Stop the timer once the screen display completed.

*** Expected Results
The performance of cood booting dialer app should be the same as 7715ea-v1.4.

*** Actual Results
The time took for cood booting dialer app is worse than 7715ea-v1.4 about 34%.

The average time
7715ea-FFOSv2.1 :1.779s
Flame-FFOS  :1.615s
7715ea-Android: 1.705s
7715ea-FFOSv1.4: 1.174s
Summary: [Dialer][dolphin][FFOS7715 v2.1] [performance] The time took for cood booting of dialer app is much longer → [Dialer][dolphin][FFOS7715 v2.1] [performance] The time took for cold booting of dialer app is much longer
worse than v1.4.
blocking-b2g: --- → 2.1S?
Whiteboard: [sprd388489] → [sprd388489][dp1]
Blocks: 1123554
William, please verify it again on our pvt build. thanks
Flags: needinfo?(whsu)
(In reply to Steven Yang [:styang] from comment #2)
> William, please verify it again on our pvt build. thanks

We still doesn't have pvt build.
But, here is the data I collected from a local build.

"Dialer"
@ chrome-dom-loaded: 1240.3 ms
@ chrome-interactive: 1243.8 ms
@ app-visually-complete: 1267.1 ms
@ content-interactive: 1295.3 ms

* Build information:
 - Gaia-Rev        73be51f998031f06db0cd660c0e388fa621c9f4c
 - Gecko-Rev       89c35d0d0dc5d9ae0da8aad6b56967b7ebb9ad71
 - Build-ID        20141226202859
 - Version         34.0
 - Device-Name     scx15_sp7715ga
 - FW-Release      4.4.2
Flags: needinfo?(whsu)
seems like the launch time in 2.1 is close to 1.4. pvt build should be generated in couple days,let's use the pvt build to confirm it.
PVT build performance measurement result.
LGTM. (moz-app-visually-complete : 1135.2 ms).

Detailed information.
@ "Dialer"
 - Memory Usage:
      "mozPerfMemoryAverage": {
        "app": {
          "uss": "13.340",
          "pss": "17.350",
          "rss": "27.220",
          "vsize": "75.070"
        },
 - Cold launch time:
   ~ moz-chrome-dom-loaded: 1134.5 ms
   ~ moz-app-visually-complete : 1135.2 ms
   ~ moz-content-interactive : 1160.7 ms
   ~ moz-chrome-interactive: 1194.2 ms

* Build information:
 - Gaia-Rev        2d0df3907319edf55a643b7d4a103534579ebef0
 - Gecko-Rev       https://hg.mozilla.org/releases/mozilla-b2g34_v2_1s/rev/2a3804a0911a
 - Build-ID        20150127161217
 - Version         34.0
 - Device-Name     scx15_sp7715ga
 - FW-Release      4.4.2
Workload of performance test. ( reference-workload-light )
* 200 contacts
* 200 sms messages
* 50 dialer history entries
* 20 gallery images
* 20 songs
* 5 videos
William, please continue the test on the 512MB dolphin device.
(In reply to Steven Yang [:styang] from comment #7)
> William, please continue the test on the 512MB dolphin device.

Sorry for the late reply.
Dolphin v2.1 (512MB) test result.
Visually complete time: 1219.3 ms

Detailed information.
@ "Dialer"
 - Memory Usage:
      "mozPerfMemoryAverage": {
        "app": {
          "uss": "12.940",
          "pss": "16.800",
          "rss": "28.640",
          "vsize": "74.920"
        },
 - Cold launch time:
   ~ moz-chrome-dom-loaded: 1218.8 ms
   ~ moz-app-visually-complete : 1219.3 ms
   ~ moz-content-interactive : 1250.5 ms
   ~ moz-chrome-interactive: 1289.4 ms

@ Build information:
 - Gaia-Rev        2d0df3907319edf55a643b7d4a103534579ebef0
 - Gecko-Rev       https://hg.mozilla.org/releases/mozilla-b2g34_v2_1s/rev/2a3804a0911a
 - Build-ID        20150128161200
 - Version         34.0
 - Device-Name     scx15_sp7715ea
 - FW-Release      4.4.2
 - FW-Incremental  eng.cltbld.20150128.193949
 - FW-Date         Wed Jan 28 19:40:01 EST 2015

>>> Conclusion:
    The cold launch time of dialer app: Dolphin 512MB > Dolphin 256MB.
    It doesn't make sense. Why?
NI?whsu to do extra performance comparison. (Flame 512 MB: v1.4 vs v2.1)
Flags: needinfo?(whsu)
Summarizing all data.

1. From partner,
  - 7715ea-FFOSv2.1 :1.779s
  - Flame-FFOS:      1.615s
  - 7715ea-Android:   1.705s
  - 7715ea-FFOSv1.4:  1.174s

2. From Mozilla,
  - 7715ea-FFOSv2.1s (512 MB): 1.2193s
  - 7715ga-FFOSv2.1s (256 MB):  1.1352s
  - Flame v1.4 (512 MB):        0.633s
  - Flame v2.1 (512 MB):        0.7582s

3. Software configuration
  @ Workload: 900 events (Mozilla build)

  @ Build information
   - Flame v1.4 (JB, single-core with 512 MB)
    ~ Gaia-Rev        04265f42139a7a5c611c45e4869582642927e835
    ~ Gecko-Rev       af6e951d18ca
    ~ Build-ID        20150201160228
    ~ Version         30.0

   - Flame v2.1 (KK, single-core with 512 MB)
    ~ Gaia-Rev        63f291df9b9ad8498fb8fc7fb8bf070524406a5c
    ~ Gecko-Rev       https://hg.mozilla.org/releases/mozilla-b2g34_v2_1/rev/70b8982a523d
    ~ Build-ID        20150202161206
    ~ Version         34.0
    ~ Device-Name     flame
    ~ FW-Release      4.4.2
    ~ Bootloader      L1TC100118D0


>>>>>>>>> Comments >>>>>>>>
1. The cold launch time of dialer app,
   => Dolphin 512MB > Dolphin 256MB.
2. Comparing the dialer app cold launch time with different devices,
   => Dolphin v2.1s (512 MB) > Flame v2.1 ( SC with 512MB)
Flags: needinfo?(whsu)
Dear whsu,

After discussion with our QA on the scenario, they insist that the booting of dialer app will not be completed until all UI refreshed finished. This may include the following actions:
1) the icon of dialer app display after clicked
2) the page of dialer load and show
3) the statusbar refresh

I think the data in c#10 might not take the time of "statusbar refresh" into account. However it is indeed a part of booting process for real user and we should not ignore it while counting.
"
2. From Mozilla,
  - 7715ea-FFOSv2.1s (512 MB): 1.2193s
  - 7715ga-FFOSv2.1s (256 MB):  1.1352s
  - Flame v1.4 (512 MB):        0.633s
  - Flame v2.1 (512 MB):        0.7582s
"

Could you please help check and re-count the data under the above comment?

Thanks,
Arvin
Flags: needinfo?(whsu)
(In reply to helloarvin from comment #11)
> Dear whsu,
> 
> After discussion with our QA on the scenario, they insist that the booting
> of dialer app will not be completed until all UI refreshed finished. This
> may include the following actions:
> 1) the icon of dialer app display after clicked
> 2) the page of dialer load and show
> 3) the statusbar refresh

I have counted the three phases in.
The raw data size is big, so I recorded a demo video for your information.
Demo video: WP_20150203_022.mp4

Many thanks.
Flags: needinfo?(whsu)
Attached video WP_20150203_022.mp4
from the latest data, there's no much difference from v1.4, minus it. please ni back to us if still any concern
blocking-b2g: 2.1S? → -
Flags: needinfo?(arvin.zhang)
Update Dolphin v1.4 (512MB) and Dolphin v1.4 (256MB) test result.

> Summarizing all data.
> 
> 1. From partner,
>   - 7715ea-FFOSv2.1 :1.779s
>   - Flame-FFOS:      1.615s
>   - 7715ea-Android:   1.705s
>   - 7715ea-FFOSv1.4:  1.174s
> 
> 2. From Mozilla,
>   - 7715ea-FFOSv2.1s (512 MB): 1.2193s
>   - 7715ga-FFOSv2.1s (256 MB):  1.1352s
    - 7715ea-FFOSv1.4  (512 MB): 1.116s
    - 7715ga-FFOSv1.4  (256 MB):  1.133s
>   - Flame v1.4 (512 MB):        0.633s
>   - Flame v2.1 (512 MB):        0.7582s
> 
> 3. Software configuration
>   @ Workload: 900 events (Mozilla build)
> 
>   @ Build information
>    - Flame v1.4 (JB, single-core with 512 MB)
>     ~ Gaia-Rev        04265f42139a7a5c611c45e4869582642927e835
>     ~ Gecko-Rev       af6e951d18ca
>     ~ Build-ID        20150201160228
>     ~ Version         30.0
> 
>    - Flame v2.1 (KK, single-core with 512 MB)
>     ~ Gaia-Rev        63f291df9b9ad8498fb8fc7fb8bf070524406a5c
>     ~ Gecko-Rev      
>     ~ https://hg.mozilla.org/releases/mozilla-b2g34_v2_1/rev/70b8982a523d
>     ~ Build-ID        20150202161206
>     ~ Version         34.0
>     ~ Device-Name     flame
>     ~ FW-Release      4.4.2
>     ~ Bootloader      L1TC100118D0

     - Dolphin v1.4 (512 MB)
       ~ Gaia-Rev        04265f42139a7a5c611c45e4869582642927e835
       ~ Gecko-Rev       https://hg.mozilla.org/releases/mozilla-b2g30_v1_4/rev/93a7fd645e82
       ~ Build-ID        20150204160202
       ~ Version         30.0
       ~ Device-Name     scx15_sp7715ea
       ~ FW-Release      4.4.2

     - Dolphin v1.4 (256MB)
       ~ Gaia-Rev        04265f42139a7a5c611c45e4869582642927e835
       ~ Gecko-Rev       https://hg.mozilla.org/releases/mozilla-b2g30_v1_4/rev/93a7fd645e82
       ~ Build-ID        20150204160202
       ~ Version         30.0
       ~ Device-Name     scx15_sp7715ga
       ~ FW-Release      4.4.2
Severity: major → critical
arvin, pls analyze the real test rule here, 
mark the result here by remove the status bar paint in dialer, 
and discuss the bug involved.
Sorry for my late reply.

We tried to remove the repaint of status-bar during the booting of all app and then the time consuming of dialer app decreased from 1.779s to 1.485s(the average value of 5 times).

As discussed in c#11 and c#12, I'm pretty sure that the time of dialer app cold booting for end user should consist of the following three actions:
> 1) the icon of dialer app display after clicked on homescreen
> 2) the page of dialer load and show
> 3) the status-bar refresh finished

This is because the end user will definitely never care about the chrome event like 'moz-chrome-dom-loaded' and what's they really concern is the completion of the whole MMI screen loading including status-bar.

Compared to the design of the branch v1.4, we can see that there're three major difference on the v2.1:
1) The display and repaint of status-bar
   In the branch v1.4, the status-bar will always display on the top and it won't need do 'hide-show-repaint' like v2.1 during the booting of the application. Contrastingly, the status-bar will be hidden once we clicked to launch any app and then resume to show when received the event 'appopened'. Besides, the status-bar will figure out color theme of current top-most window for refreshing.
 
2) The gaia-theme of app
   In the branch v2.1, there's specific theme defining fonts/colors/default styles for elements corresponding to  certain (type) apps. Dialer app is one of the communication applications and it shares the theme class---.theme-communications and so that the 'shared/elements/gaia-theme/style.css' will be loaded during the booting process.

3) The adjustment of dialer UI
   The UI design in v2.1 is more beautiful and elaborate than that in v1.4. And several elements like suggestion-bar had been refactoring and a littlee more css files should be loaded on the booting process 'style/toolbar.css' and '/dialer/style/suggestion.css'.

Above all, we can conclude that the time consuming of cold booting of dialer app is much longer than that in v1.4.
Flags: needinfo?(arvin.zhang)
tracking-b2g: --- → -
Firefox OS is not being worked on
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: