Closed Bug 1120949 Opened 11 years ago Closed 10 years ago

[FFOS7715 v2.1][system]Pull down the utility tray, is not very smooth, not timely

Categories

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

ARM
Gonk (Firefox OS)
defect
Not set
major

Tracking

(b2g-v2.0 unaffected, b2g-v2.1 affected, b2g-v2.1S affected, b2g-v2.2 affected, b2g-master affected)

RESOLVED WONTFIX
Tracking Status
b2g-v2.0 --- unaffected
b2g-v2.1 --- affected
b2g-v2.1S --- affected
b2g-v2.2 --- affected
b2g-master --- affected

People

(Reporter: David.Zhao, Unassigned, NeedInfo)

References

Details

(Keywords: regression, Whiteboard: sprd392733 (obviously)[POVB])

Attachments

(3 files, 1 obsolete file)

User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:36.0) Gecko/20100101 Firefox/36.0 Build ID: 20141119030200 Steps to reproduce: Pull down the utility tray Actual results: is not very smooth, not timely Expected results: smooth and timely
OS: All → Gonk (Firefox OS)
Hardware: All → ARM
Whiteboard: sprd392733
Hi Kevin, I think it happens because upload ‘touchmove’ event not timely. Do you aware of the situation? Or give me some guidance? please help me to investigate Thanks a lot
Flags: needinfo?(kgrandon)
Adding qawanted - can we get branch checks here? Chris - could you take this needinfo? You are awesome at this kind of stuff, and I think you've done more with the utility tray than I have recently. No worries if you can't, let me know and we can find someone else. Thanks!
status-b2g-v2.0: --- → ?
status-b2g-v2.2: --- → ?
Flags: needinfo?(kgrandon) → needinfo?(chrislord.net)
Keywords: qawanted
I won't clear my needinfo right now, but I don't have the time to look into this for at least another week I don't think, possibly two. If we want it looking at before then, may be best to ask someone else (vingtetun and etienne have done a lot of work on this).
QA Contact: bzumwalt
I see a very noticeable lag in the animation when dismissing/pushing the utility tray up. Is this what you are talking about (video example: http://youtu.be/1QTt3dlbqVc) There is a slight delay when pulling tray down as well. Issue DOES occur on Flame 2.2 and Flame 3.0 Pulling down and pushing up animation of utility tray experiences visual lag and appears to not to animate smoothly especially on the pushing up dismissal animation of the tray. Device: Flame 2.2 BuildID: 20150114002502 Gaia: 7c5b27cad370db377b18a742d3f3fdb0070e899f Gecko: 748b20315f75 Version: 37.0a2 (2.2) Firmware: V18D-1 User Agent: Mozilla/5.0 (Mobile; rv:37.0) Gecko/37.0 Firefox/37.0 Device: Flame 3.0 Master BuildID: 20150114010205 Gaia: e2a0f7c311119d4a8e160bdfb9e28a0e61a180fc Gecko: 63006936ab99 Version: 38.0a1 (3.0) Firmware: V18D-1 User Agent: Mozilla/5.0 (Mobile; rv:38.0) Gecko/38.0 Firefox/38.0 Issue does NOT occur in Flame 2.0 Pulling down and pushing up animation of utility tray does not experience visual lag and appears to animate smoothly. Device: Flame 2.0 BuildID: 20150114000207 Gaia: 31d6c9422cd0a8213df9f96019c9ab7168ec3ab3 Gecko: f2b6017e84eb Version: 32.0 (2.0) Firmware: V18D-1 User Agent: Mozilla/5.0 (Mobile; rv:32.0) Gecko/32.0 Firefox/32.0
QA Whiteboard: [QAnalyst-Triage?]
Flags: needinfo?(ktucker)
Keywords: qawantedregression
QA Whiteboard: [QAnalyst-Triage?] → [QAnalyst-Triage+]
Flags: needinfo?(ktucker)
(In reply to Chris Lord [:cwiiis] from comment #3) > I won't clear my needinfo right now, but I don't have the time to look into > this for at least another week I don't think, possibly two. If we want it > looking at before then, may be best to ask someone else (vingtetun and > etienne have done a lot of work on this). Hi vingtetun and etienne: As comment 3, could you please give some guidance about this problem, thanks very much!
Flags: needinfo?(etienne)
Flags: needinfo?(21)
Hi vingtetun and etienne, Could you help me to answer these questions? Is ‘TabParent::InjectTouchEvent‘ related to the issure? How is the relationship between ‘TabParent::InjectTouchEvent‘ and 'drag statusbar'? Thanks a lot
Blocks: 1123554
I won't be able to help with the gecko part. That said it's probably worth checking again now that bug 1074332 landed.
Flags: needinfo?(etienne)
So, there is only so smooth interactions like this and edge-swipe are going to be without us throttling the priority of the active application because input is handled on the main thread and I believe that the main thread can get bogged down when there is a CPU-intensive app in the foreground. So I suppose bug 930939 would help, but also Vivien's work in bug 1061969. I wonder if the idea/work in that bug is more viable now that bug 1081871 has been fixed? Maybe this could hang off of bug 994518 even.
For what it's worth, this and edge-swiping are much smoother after applying the patches on bug 930939. I think this should just block on that work. As I say in comment #8, there's only so much we can do when we're not controlling what apps are running and those apps can bog down input event handling.
Depends on: input-thread
Flags: needinfo?(chrislord.net)
Hi chris lord, whether bug 930939 will land on 2.1&2.1s? Or could you tell me who I can ask? thanks a lot
Flags: needinfo?(chrislord.net)
(In reply to zhaoyang from comment #11) > Hi chris lord, > > whether bug 930939 will land on 2.1&2.1s? > Or could you tell me who I can ask? > > thanks a lot This was answered by kats on another bug. (short answer: no)
Flags: needinfo?(chrislord.net)
Hi vance: this issue is very import to our performance test and user experience, please help to assign some one to investigate it, thanks
Flags: needinfo?(vchen)
2.1s正常匀速下拉: 03-03 00:40:08.447 E/GeckoConsole(26730): Content JS LOG at app://system.gaiamobile.org/js/utility_tray.js:153 in ut_handleEvent: 7715_v2.1s:utility_tray touchstart 03-03 00:40:08.627 E/GeckoConsole(26730): Content JS LOG at app://system.gaiamobile.org/js/utility_tray.js:177 in ut_handleEvent: 7715_v2.1s:utility_tray touchmove 03-03 00:40:08.627 E/GeckoConsole(26730): Content JS LOG at app://system.gaiamobile.org/js/utility_tray.js:177 in ut_handleEvent: 7715_v2.1s:utility_tray touchmove 03-03 00:40:08.627 E/GeckoConsole(26730): Content JS LOG at app://system.gaiamobile.org/js/utility_tray.js:177 in ut_handleEvent: 7715_v2.1s:utility_tray touchmove 03-03 00:40:08.627 E/GeckoConsole(26730): Content JS LOG at app://system.gaiamobile.org/js/utility_tray.js:177 in ut_handleEvent: 7715_v2.1s:utility_tray touchmove 03-03 00:40:08.627 E/GeckoConsole(26730): Content JS LOG at app://system.gaiamobile.org/js/utility_tray.js:177 in ut_handleEvent: 7715_v2.1s:utility_tray touchmove 03-03 00:40:08.877 E/GeckoConsole(26730): Content JS LOG at app://system.gaiamobile.org/js/utility_tray.js:177 in ut_handleEvent: 7715_v2.1s:utility_tray touchmove 03-03 00:40:08.877 E/GeckoConsole(26730): Content JS LOG at app://system.gaiamobile.org/js/utility_tray.js:177 in ut_handleEvent: 7715_v2.1s:utility_tray touchmove 03-03 00:40:08.877 E/GeckoConsole(26730): Content JS LOG at app://system.gaiamobile.org/js/utility_tray.js:177 in ut_handleEvent: 7715_v2.1s:utility_tray touchmove 03-03 00:40:08.887 E/GeckoConsole(26730): Content JS LOG at app://system.gaiamobile.org/js/utility_tray.js:177 in ut_handleEvent: 7715_v2.1s:utility_tray touchmove 03-03 00:40:08.887 E/GeckoConsole(26730): Content JS LOG at app://system.gaiamobile.org/js/utility_tray.js:177 in ut_handleEvent: 7715_v2.1s:utility_tray touchmove 03-03 00:40:08.887 E/GeckoConsole(26730): Content JS LOG at app://system.gaiamobile.org/js/utility_tray.js:177 in ut_handleEvent: 7715_v2.1s:utility_tray touchmove 03-03 00:40:08.887 E/GeckoConsole(26730): Content JS LOG at app://system.gaiamobile.org/js/utility_tray.js:177 in ut_handleEvent: 7715_v2.1s:utility_tray touchmove 03-03 00:40:08.887 E/GeckoConsole(26730): Content JS LOG at app://system.gaiamobile.org/js/utility_tray.js:177 in ut_handleEvent: 7715_v2.1s:utility_tray touchmove 03-03 00:40:08.887 E/GeckoConsole(26730): Content JS LOG at app://system.gaiamobile.org/js/utility_tray.js:177 in ut_handleEvent: 7715_v2.1s:utility_tray touchmove 03-03 00:40:08.897 E/GeckoConsole(26730): Content JS LOG at app://system.gaiamobile.org/js/utility_tray.js:177 in ut_handleEvent: 7715_v2.1s:utility_tray touchmove 03-03 00:40:08.897 E/GeckoConsole(26730): Content JS LOG at app://system.gaiamobile.org/js/utility_tray.js:177 in ut_handleEvent: 7715_v2.1s:utility_tray touchmove 03-03 00:40:09.117 E/GeckoConsole(26730): Content JS LOG at app://system.gaiamobile.org/js/utility_tray.js:177 in ut_handleEvent: 7715_v2.1s:utility_tray touchmove 03-03 00:40:09.127 E/GeckoConsole(26730): Content JS LOG at app://system.gaiamobile.org/js/utility_tray.js:177 in ut_handleEvent: 7715_v2.1s:utility_tray touchmove 03-03 00:40:09.127 E/GeckoConsole(26730): Content JS LOG at app://system.gaiamobile.org/js/utility_tray.js:177 in ut_handleEvent: 7715_v2.1s:utility_tray touchmove 03-03 00:40:09.127 E/GeckoConsole(26730): Content JS LOG at app://system.gaiamobile.org/js/utility_tray.js:177 in ut_handleEvent: 7715_v2.1s:utility_tray touchmove 03-03 00:40:09.127 E/GeckoConsole(26730): Content JS LOG at app://system.gaiamobile.org/js/utility_tray.js:177 in ut_handleEvent: 7715_v2.1s:utility_tray touchmove 03-03 00:40:09.127 E/GeckoConsole(26730): Content JS LOG at app://system.gaiamobile.org/js/utility_tray.js:177 in ut_handleEvent: 7715_v2.1s:utility_tray touchmove 03-03 00:40:09.127 E/GeckoConsole(26730): Content JS LOG at app://system.gaiamobile.org/js/utility_tray.js:177 in ut_handleEvent: 7715_v2.1s:utility_tray touchmove 03-03 00:40:09.157 E/GeckoConsole(26730): Content JS LOG at app://system.gaiamobile.org/js/utility_tray.js:177 in ut_handleEvent: 7715_v2.1s:utility_tray touchmove 03-03 00:40:09.157 E/GeckoConsole(26730): Content JS LOG at app://system.gaiamobile.org/js/utility_tray.js:177 in ut_handleEvent: 7715_v2.1s:utility_tray touchmove 03-03 00:40:09.157 E/GeckoConsole(26730): Content JS LOG at app://system.gaiamobile.org/js/utility_tray.js:177 in ut_handleEvent: 7715_v2.1s:utility_tray touchmove 03-03 00:40:09.157 E/GeckoConsole(26730): Content JS LOG at app://system.gaiamobile.org/js/utility_tray.js:177 in ut_handleEvent: 7715_v2.1s:utility_tray touchmove 03-03 00:40:09.157 E/GeckoConsole(26730): Content JS LOG at app://system.gaiamobile.org/js/utility_tray.js:177 in ut_handleEvent: 7715_v2.1s:utility_tray touchmove 03-03 00:40:09.167 E/GeckoConsole(26730): Content JS LOG at app://system.gaiamobile.org/js/utility_tray.js:177 in ut_handleEvent: 7715_v2.1s:utility_tray touchmove 03-03 00:40:09.167 E/GeckoConsole(26730): Content JS LOG at app://system.gaiamobile.org/js/utility_tray.js:177 in ut_handleEvent: 7715_v2.1s:utility_tray touchmove 03-03 00:40:09.167 E/GeckoConsole(26730): Content JS LOG at app://system.gaiamobile.org/js/utility_tray.js:177 in ut_handleEvent: 7715_v2.1s:utility_tray touchmove 03-03 00:40:09.167 E/GeckoConsole(26730): Content JS LOG at app://system.gaiamobile.org/js/utility_tray.js:177 in ut_handleEvent: 7715_v2.1s:utility_tray touchmove 03-03 00:40:09.167 E/GeckoConsole(26730): Content JS LOG at app://system.gaiamobile.org/js/utility_tray.js:177 in ut_handleEvent: 7715_v2.1s:utility_tray touchmove 1.4正常匀速下拉: 03-03 00:54:50.728 E/GeckoConsole( 1047): Content JS LOG at app://system.gaiamobile.org/js/utility_tray.js:95 in ut_handleEvent: 7715_v1.4:utility_tray touchstart 03-03 00:54:50.728 E/GeckoConsole( 1047): Content JS LOG at app://system.gaiamobile.org/js/utility_tray.js:113 in ut_handleEvent: 7715_v1.4:utility_tray touchmove 03-03 00:54:50.998 E/GeckoConsole( 1047): Content JS LOG at app://system.gaiamobile.org/js/utility_tray.js:113 in ut_handleEvent: 7715_v1.4:utility_tray touchmove 03-03 00:54:50.998 E/GeckoConsole( 1047): Content JS LOG at app://system.gaiamobile.org/js/utility_tray.js:113 in ut_handleEvent: 7715_v1.4:utility_tray touchmove 03-03 00:54:51.008 E/GeckoConsole( 1047): Content JS LOG at app://system.gaiamobile.org/js/utility_tray.js:113 in ut_handleEvent: 7715_v1.4:utility_tray touchmove 03-03 00:54:51.008 E/GeckoConsole( 1047): Content JS LOG at app://system.gaiamobile.org/js/utility_tray.js:113 in ut_handleEvent: 7715_v1.4:utility_tray touchmove 03-03 00:54:51.078 E/GeckoConsole( 1047): Content JS LOG at app://system.gaiamobile.org/js/utility_tray.js:113 in ut_handleEvent: 7715_v1.4:utility_tray touchmove 03-03 00:54:51.078 E/GeckoConsole( 1047): Content JS LOG at app://system.gaiamobile.org/js/utility_tray.js:113 in ut_handleEvent: 7715_v1.4:utility_tray touchmove 03-03 00:54:51.118 E/GeckoConsole( 1047): Content JS LOG at app://system.gaiamobile.org/js/utility_tray.js:113 in ut_handleEvent: 7715_v1.4:utility_tray touchmove 03-03 00:54:51.118 E/GeckoConsole( 1047): Content JS LOG at app://system.gaiamobile.org/js/utility_tray.js:113 in ut_handleEvent: 7715_v1.4:utility_tray touchmove 03-03 00:54:51.168 E/GeckoConsole( 1047): Content JS LOG at app://system.gaiamobile.org/js/utility_tray.js:113 in ut_handleEvent: 7715_v1.4:utility_tray touchmove 03-03 00:54:51.168 E/GeckoConsole( 1047): Content JS LOG at app://system.gaiamobile.org/js/utility_tray.js:113 in ut_handleEvent: 7715_v1.4:utility_tray touchmove 03-03 00:54:51.208 E/GeckoConsole( 1047): Content JS LOG at app://system.gaiamobile.org/js/utility_tray.js:113 in ut_handleEvent: 7715_v1.4:utility_tray touchmove 03-03 00:54:51.208 E/GeckoConsole( 1047): Content JS LOG at app://system.gaiamobile.org/js/utility_tray.js:113 in ut_handleEvent: 7715_v1.4:utility_tray touchmove 03-03 00:54:51.228 E/GeckoConsole( 1047): Content JS LOG at app://system.gaiamobile.org/js/utility_tray.js:113 in ut_handleEvent: 7715_v1.4:utility_tray touchmove 03-03 00:54:51.268 E/GeckoConsole( 1047): Content JS LOG at app://system.gaiamobile.org/js/utility_tray.js:113 in ut_handleEvent: 7715_v1.4:utility_tray touchmove 03-03 00:54:51.268 E/GeckoConsole( 1047): Content JS LOG at app://system.gaiamobile.org/js/utility_tray.js:113 in ut_handleEvent: 7715_v1.4:utility_tray touchmove
1.4下拉过程中只会在start时touch事件间隔较大,而2.1s下拉过程除了start时的间隔大,还有两次明显接收touch事件间隔较大,导致下拉卡顿
(In reply to zhaoyang from comment #15) > 1.4下拉过程中只会在start时touch事件间隔较大,而2.1s下拉过程除了start时的间隔大,还有两次明显接收touch事件间隔较大,导致下拉卡顿 sorry! update my comment 1.4 Pull down the utility tray,only when ‘touchstart‘ with large time gap, 2.1s Pull down the utility tray,except ‘touchstart‘ with large time gap,there are two other large time interval between ‘touchmove‘ So maybe this bug was caused by the difference of gecko handling touch events when upgrade 1.4 to 2.1 1.4 Pull down(one large time interval): 03-03 00:54:50.728 E/GeckoConsole( 1047): Content JS LOG at app://system.gaiamobile.org/js/utility_tray.js:95 in ut_handleEvent: 7715_v1.4:utility_tray touchstart 03-03 00:54:50.728 E/GeckoConsole( 1047): Content JS LOG at app://system.gaiamobile.org/js/utility_tray.js:113 in ut_handleEvent: 7715_v1.4:utility_tray touchmove 03-03 00:54:50.998 E/GeckoConsole( 1047): Content JS LOG at app://system.gaiamobile.org/js/utility_tray.js:113 in ut_handleEvent: 7715_v1.4:utility_tray touchmove 2.1s Pull down(three large time interval): 03-03 00:40:08.447 E/GeckoConsole(26730): Content JS LOG at app://system.gaiamobile.org/js/utility_tray.js:153 in ut_handleEvent: 7715_v2.1s:utility_tray touchstart 03-03 00:40:08.627 E/GeckoConsole(26730): Content JS LOG at app://system.gaiamobile.org/js/utility_tray.js:177 in ut_handleEvent: 7715_v2.1s:utility_tray touchmove ... 03-03 00:40:08.627 E/GeckoConsole(26730): Content JS LOG at app://system.gaiamobile.org/js/utility_tray.js:177 in ut_handleEvent: 7715_v2.1s:utility_tray touchmove 03-03 00:40:08.877 E/GeckoConsole(26730): Content JS LOG at app://system.gaiamobile.org/js/utility_tray.js:177 in ut_handleEvent: 7715_v2.1s:utility_tray touchmove ... 03-03 00:40:08.897 E/GeckoConsole(26730): Content JS LOG at app://system.gaiamobile.org/js/utility_tray.js:177 in ut_handleEvent: 7715_v2.1s:utility_tray touchmove 03-03 00:40:09.117 E/GeckoConsole(26730): Content JS LOG at app://system.gaiamobile.org/js/utility_tray.js:177 in ut_handleEvent: 7715_v2.1s:utility_tray touchmove
obviously ferformance, need goon making even better
Severity: normal → major
Whiteboard: sprd392733 → sprd392733 (obviously)
Hi vance & shawn: This problem is very serious impact on the user experience, but we didn't find a effective way to improve. Please help to find someone to have a look? Thanks a lot
Flags: needinfo?(sku)
v2.1 add “GeckoTouchDispatcher.cpp”,and there is obvious difference between v1.4 and v2.1 v1.4:GeckoInputDispatcher::notifyMotion() call nsAppShell::NotifyNativeEvent() v2.1:GeckoInputDispatcher::notifyMotion() call GeckoTouchDispatcher::NotifyTouch()
Hi Mason & Michael, Could you help or give some advices about this bug? Thanks a lot
Flags: needinfo?(mwu)
Flags: needinfo?(mchang)
ni Steven Yang as well to see if someone from the device team can help
Flags: needinfo?(styang)
I'm adding Danny here to check if he can help on this.
Flags: needinfo?(styang) → needinfo?(dliang)
In 2.1, we landed but did not enable touch resampling. In 2.2 and master, touch resampling and the vsync compositor are enabled by default which should help smoothness. Is it just not smoother while it's tracking your finger or is it just the initial pulldown of the notification bar? In these cases, it's better to get a profile (https://developer.mozilla.org/en-US/docs/Mozilla/Performance/Profiling_with_the_Built-in_Profiler), post the profile here and we might get some data on what's being slow.
Flags: needinfo?(mchang)
(In reply to Mason Chang [:mchang] from comment #23) > In 2.1, we landed but did not enable touch resampling. In 2.2 and master, > touch resampling and the vsync compositor are enabled by default which > should help smoothness. Is it just not smoother while it's tracking your > finger or is it just the initial pulldown of the notification bar? In these > cases, it's better to get a profile > (https://developer.mozilla.org/en-US/docs/Mozilla/Performance/ > Profiling_with_the_Built-in_Profiler), post the profile here and we might > get some data on what's being slow. Hi Mason, As comment16,it is not smooth while both it's tracking your finger and the initial pull down.I will try to get a profile and post the profile here later.Could you help land about resampling and vsync compositor or give a patch? Thanks a lot!
(In reply to Mason Chang [:mchang] from comment #23) > In 2.1, we landed but did not enable touch resampling. In 2.2 and master, > touch resampling and the vsync compositor are enabled by default which > should help smoothness. Is it just not smoother while it's tracking your > finger or is it just the initial pulldown of the notification bar? In these > cases, it's better to get a profile > (https://developer.mozilla.org/en-US/docs/Mozilla/Performance/ > Profiling_with_the_Built-in_Profiler), post the profile here and we might > get some data on what's being slow. Hi Mason, Here is profile,please The operation of my steps:pull down utility_tray and pull up utility_tray Thanks a lot
Flags: needinfo?(mchang)
Attached file touch-profile.zip (obsolete) —
profile----pull down and pull up utility_tray
(In reply to zhaoyang from comment #26) > Created attachment 8579773 [details] > touch-profile.zip > > profile----pull down and pull up utility_tray By my observation, b2g spent most time on epoll_wait, I don't think it's profiling on pull down utility tray.
Update gecko profile by my test.
Hmm, the profile looks pretty empty. What exactly are you doing to test? Can you make a video of the test? What device are you on as well. Master looks pretty smooth to me. (In reply to zhaoyang from comment #24) > (In reply to Mason Chang [:mchang] from comment #23) > Hi Mason, > As comment16,it is not smooth while both it's tracking your finger and > the initial pull down.I will try to get a profile and post the profile here > later.Could you help land about resampling and vsync compositor or give a > patch? > Thanks a lot! Resampling is in 2.1 already. The vsync compositor will not be uplifted to 2.1 since it is too risky, but it is in 2.2. You can try resampling in 2.1 by enabling these prefs: gfx.vsync.hw-vsync.enabled gfx.touch.resample Set them to true.
Flags: needinfo?(mchang)
(In reply to Mason Chang [:mchang] from comment #29) > Hmm, the profile looks pretty empty. What exactly are you doing to test? Can > you make a video of the test? What device are you on as well. Master looks > pretty smooth to me. > > (In reply to zhaoyang from comment #24) > > (In reply to Mason Chang [:mchang] from comment #23) > > Hi Mason, > > As comment16,it is not smooth while both it's tracking your finger and > > the initial pull down.I will try to get a profile and post the profile here > > later.Could you help land about resampling and vsync compositor or give a > > patch? > > Thanks a lot! > > Resampling is in 2.1 already. The vsync compositor will not be uplifted to > 2.1 since it is too risky, but it is in 2.2. > > You can try resampling in 2.1 by enabling these prefs: > > gfx.vsync.hw-vsync.enabled > gfx.touch.resample > > Set them to true. Hi Mason, I add pref("gfx.vsync.hw-vsync.enabled",true); pref("gfx.touch.resample",true); in gecko/b2g/app/b2g.js If this works,will it call "GeckoTouchDispatcher::ResampleTouchMoves()" ? But I add log in this function,and I can't catch that log. whether I add in wrong position?
Hm, that should be right. 2.1 really wasn't supported to other things could have changed. You can check in HwcComposer2D.cpp that vsync is occurring. But if it is still janky on master / 2.2, then it won't help you much. What exactly are you testing? Getting a profile would be better so we could actually pinpoint what's happening.
(In reply to Mason Chang [:mchang] from comment #31) > Hm, that should be right. 2.1 really wasn't supported to other things could > have changed. You can check in HwcComposer2D.cpp that vsync is occurring. > But if it is still janky on master / 2.2, then it won't help you much. What > exactly are you testing? Getting a profile would be better so we could > actually pinpoint what's happening. Hi Mason, I have tried. Maybe vsync and resample both wasn't supported in 2.1. Whether can change the way of dispatch touch event from 2.1 to 1.4 in local,since 1.4 is more smooth. Or others? I add new profile Thanks a lot
Attached file profile.zip
phone is in homescreen,I pull down and pull up utility_tray
Attachment #8579773 - Attachment is obsolete: true
(In reply to Danny Liang [:dliang] from comment #27) > (In reply to zhaoyang from comment #26) > > Created attachment 8579773 [details] > > touch-profile.zip > > > > profile----pull down and pull up utility_tray > > By my observation, b2g spent most time on epoll_wait, I don't think it's > profiling on pull down utility tray. Hi liang, You are right. It's my negligence. Could you help analyze this bug? Thanks a lot
Hi Mason, the profile is attached as Comment#33, could you help to check and provide some insights to our partner? Thanks
Flags: needinfo?(vchen) → needinfo?(mchang)
(In reply to Vance Chen [:vchen][vchen@mozilla.com] from comment #35) > Hi Mason, the profile is attached as Comment#33, could you help to check and > provide some insights to our partner? > > Thanks There is nothing in the profile. Can you please provide exactly what you're testing and how? 1) Is it smooth on master / 2.2? 2) Can you please profile the compositor thread? Use the command ./profile.sh start -p b2g -t Compositor && ./profile.sh start -p Homescreen.
Flags: needinfo?(mchang)
(In reply to Mason Chang [:mchang] from comment #36) > (In reply to Vance Chen [:vchen][vchen@mozilla.com] from comment #35) > > Hi Mason, the profile is attached as Comment#33, could you help to check and > > provide some insights to our partner? > > > > Thanks > > There is nothing in the profile. Can you please provide exactly what you're > testing and how? > > 1) Is it smooth on master / 2.2? > 2) Can you please profile the compositor thread? Use the command > ./profile.sh start -p b2g -t Compositor && ./profile.sh start -p Homescreen. I use command ./profile.sh start -p b2g -i 5 && ./profile.sh start -p Homescreen,and catch "profile.zip" But when I use command ./profile.sh start -p b2g -t Compositor && ./profile.sh start -p Homescreen I catch the profile spend most time on epoll_wait. Or there is a profile on pull down utility tray as comment 27 Also I find it consume a lot of CPU when pulldown of the notification bar
(In reply to zhaoyang from comment #37) > (In reply to Mason Chang [:mchang] from comment #36) > > (In reply to Vance Chen [:vchen][vchen@mozilla.com] from comment #35) > > > Hi Mason, the profile is attached as Comment#33, could you help to check and > > > provide some insights to our partner? > > > > > > Thanks > > > > There is nothing in the profile. Can you please provide exactly what you're > > testing and how? > > > > 1) Is it smooth on master / 2.2? > > 2) Can you please profile the compositor thread? Use the command > > ./profile.sh start -p b2g -t Compositor && ./profile.sh start -p Homescreen. > > I use command ./profile.sh start -p b2g -i 5 && ./profile.sh start -p > Homescreen,and catch "profile.zip" > But when I use command ./profile.sh start -p b2g -t Compositor && > ./profile.sh start -p Homescreen > I catch the profile spend most time on epoll_wait. > it's normal if b2g is doing nothing. > Or there is a profile on pull down utility tray as comment 27 > Also I find it consume a lot of CPU when pulldown of the notification bar My profiling result by top on dolphin and flame as following: 1. flame w/ 1 cpu and 319MB on v2.1 didn't have this performance issue, the cpu usage is lower than dolphin under same test environment. 2. On dolphin device, v2.1s gets higher CPU usage than v1.4. This should be why we didn't see this issue on v1.4 but v2.1s did.
(In reply to Danny Liang [:dliang] from comment #38) > (In reply to zhaoyang from comment #37) > > (In reply to Mason Chang [:mchang] from comment #36) > > > (In reply to Vance Chen [:vchen][vchen@mozilla.com] from comment #35) > > > > Hi Mason, the profile is attached as Comment#33, could you help to check and > > > > provide some insights to our partner? > > > > > > > > Thanks > > > > > > There is nothing in the profile. Can you please provide exactly what you're > > > testing and how? > > > > > > 1) Is it smooth on master / 2.2? > > > 2) Can you please profile the compositor thread? Use the command > > > ./profile.sh start -p b2g -t Compositor && ./profile.sh start -p Homescreen. > > > > I use command ./profile.sh start -p b2g -i 5 && ./profile.sh start -p > > Homescreen,and catch "profile.zip" > > But when I use command ./profile.sh start -p b2g -t Compositor && > > ./profile.sh start -p Homescreen > > I catch the profile spend most time on epoll_wait. > > > it's normal if b2g is doing nothing. > > > Or there is a profile on pull down utility tray as comment 27 > > Also I find it consume a lot of CPU when pulldown of the notification bar > > My profiling result by top on dolphin and flame as following: > 1. flame w/ 1 cpu and 319MB on v2.1 didn't have this performance issue, the > cpu usage is lower than dolphin under same test environment. > 2. On dolphin device, v2.1s gets higher CPU usage than v1.4. This should be > why we didn't see this issue on v1.4 but v2.1s did. Indeed,flame consume CPU far lower than dolphin when pulldown of the notification bar. But I test v1.4 and v2.1s on dolphin, v1.4 is a little lower than v2.1s. In v2.1s,statusbar is a part of APP chromebar,and it's not in v1.4. Whether it more rely on cpu,when dispatcher touch events on v2.1s?
(In reply to zhaoyang from comment #39) > (In reply to Danny Liang [:dliang] from comment #38) > > (In reply to zhaoyang from comment #37) > > > (In reply to Mason Chang [:mchang] from comment #36) > > > > (In reply to Vance Chen [:vchen][vchen@mozilla.com] from comment #35) > > > > > Hi Mason, the profile is attached as Comment#33, could you help to check and > > > > > provide some insights to our partner? > > > > > > > > > > Thanks > > > > > > > > There is nothing in the profile. Can you please provide exactly what you're > > > > testing and how? > > > > > > > > 1) Is it smooth on master / 2.2? > > > > 2) Can you please profile the compositor thread? Use the command > > > > ./profile.sh start -p b2g -t Compositor && ./profile.sh start -p Homescreen. > > > > > > I use command ./profile.sh start -p b2g -i 5 && ./profile.sh start -p > > > Homescreen,and catch "profile.zip" > > > But when I use command ./profile.sh start -p b2g -t Compositor && > > > ./profile.sh start -p Homescreen > > > I catch the profile spend most time on epoll_wait. > > > > > it's normal if b2g is doing nothing. > > > > > Or there is a profile on pull down utility tray as comment 27 > > > Also I find it consume a lot of CPU when pulldown of the notification bar > > > > My profiling result by top on dolphin and flame as following: > > 1. flame w/ 1 cpu and 319MB on v2.1 didn't have this performance issue, the > > cpu usage is lower than dolphin under same test environment. > > 2. On dolphin device, v2.1s gets higher CPU usage than v1.4. This should be > > why we didn't see this issue on v1.4 but v2.1s did. > > Indeed,flame consume CPU far lower than dolphin when pulldown of the > notification bar. > But I test v1.4 and v2.1s on dolphin, v1.4 is a little lower than v2.1s. > In v2.1s,statusbar is a part of APP chromebar,and it's not in v1.4. > Whether it more rely on cpu,when dispatcher touch events on v2.1s? By top, I found b2g main thread consume more CPU but Compositor thread is hard to get resource. By systrace, we found b2g spent more time in "DispatchEvent" on v2.1s
Flags: needinfo?(dliang)
systrace profiling file when pulling utility tray on both v2.1s and v1.4
(In reply to Danny Liang [:dliang] from comment #41) > Created attachment 8585921 [details] > pull-utility-tray.tar.gz > > systrace profiling file when pulling utility tray on both v2.1s and v1.4 wether there is someting we can do to reduce consume CPU?
Hi Danny Liang & Mason Chang, If change reporting frequency from 70HZ to 50HZ(dolphin), it will be smooth. Also can reduce the CPU usage, whether this will bring risk? Thanks a lot!
Flags: needinfo?(mchang)
Flags: needinfo?(danny31012)
(In reply to zhaoyang from comment #43) > Hi Danny Liang & Mason Chang, > > If change reporting frequency from 70HZ to 50HZ(dolphin), it will be > smooth. Also can reduce the CPU usage, whether this will bring risk? > > Thanks a lot! Can you please elaborate? What is the reporting frequency? I don't understand what you are changing here.
Flags: needinfo?(mchang)
(In reply to Mason Chang [:mchang] from comment #44) > (In reply to zhaoyang from comment #43) > > Hi Danny Liang & Mason Chang, > > > > If change reporting frequency from 70HZ to 50HZ(dolphin), it will be > > smooth. Also can reduce the CPU usage, whether this will bring risk? > > > > Thanks a lot! > > Can you please elaborate? What is the reporting frequency? I don't > understand what you are changing here. change touch event reporting frequency from 70HZ to 50HZ(dolphin),just as follow: static int ft5x0x_ts_probe(struct i2c_client *client, const struct i2c_device_id *id) { ... /* set report rate, about 70HZ */ ft5x0x_write_reg(FT5X0X_REG_PERIODACTIVE, 7); ... } I have test this change has no effect on the other APP,it looks good.I want to ask whether this will bring risk?
Hi ZhaoYang - I don't Mozilla can comment much on this since it is more driver/Touch Panel characteristics relevant. But still ni Viral to see if he has any suggestion here Thanks
Flags: needinfo?(vwang)
(In reply to zhaoyang from comment #45) > (In reply to Mason Chang [:mchang] from comment #44) > > (In reply to zhaoyang from comment #43) > > > Hi Danny Liang & Mason Chang, > > > > > > If change reporting frequency from 70HZ to 50HZ(dolphin), it will be > > > smooth. Also can reduce the CPU usage, whether this will bring risk? > > > > > > Thanks a lot! > > > > Can you please elaborate? What is the reporting frequency? I don't > > understand what you are changing here. > > change touch event reporting frequency from 70HZ to 50HZ(dolphin),just as > follow: > static int ft5x0x_ts_probe(struct i2c_client *client, const struct > i2c_device_id *id) > { > ... > /* set report rate, about 70HZ */ > ft5x0x_write_reg(FT5X0X_REG_PERIODACTIVE, 7); > ... > } > I have test this change has no effect on the other APP,it looks good.I want > to ask whether this will bring risk? My comment is same as Vance's, but I am curious whether we use same touch driver and sampling rate in dolphin with 256MB/512MB. Is there any extra difference except memory size and storage?
Flags: needinfo?(danny31012)
(In reply to Vance Chen [:vchen][vchen@mozilla.com] from comment #46) > Hi ZhaoYang - > > I don't Mozilla can comment much on this since it is more driver/Touch Panel > characteristics relevant. But still ni Viral to see if he has any suggestion > here > > Thanks lower report rate in touch driver is an useful way to decrease cpu usage but it will make the response time a little bit longer. Like Danny mentioned in comment 47, we may check the difference to we used to be in dolphin.
Flags: needinfo?(vwang)
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → WONTFIX
Whiteboard: sprd392733 (obviously) → sprd392733 (obviously)[POVB]
Flags: needinfo?(chenghuk)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: