Closed Bug 1118530 Opened 9 years ago Closed 9 years ago

[meta] Turn on by default hardware vsync and the Vsync Aligned Compositor on b2g

Categories

(Core :: Graphics, defect)

37 Branch
ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla38
Tracking Status
firefox36 --- wontfix
firefox37 --- wontfix
firefox38 --- fixed
b2g-v2.2 --- fixed
b2g-master --- fixed

People

(Reporter: mchang, Assigned: mchang)

References

Details

Attachments

(3 files)

Enable the prefs:

gfx.vsync.hw-vsync.enabled
gfx.vsync.compositor

by default on b2g. Attach any blocking bugs here.
Summary: [meta] Turn on by default hardware vsync and the Vsync Aligned Compositor by default on b2g → [meta] Turn on by default hardware vsync and the Vsync Aligned Compositor on b2g
Depends on: 1118531
Depends on: 1119981
Depends on: 1120753
Depends on: 1121065
Component: Widget: Gonk → Graphics
Hardware: x86 → ARM
Version: 26 Branch → 37 Branch
Adding QA wanted before enabling default everywhere. 

QA - Please enable the two preferences listed in comment 0. This fundamentally changes how we composite, so if there are any graphics bugs with this enabled, please report them. This is part 1 of 3 to enable Silk by default on b2g.

Expected behavior: Nothing should actually change from a functional standpoint. Should be able to use the phone exactly the same as with this feature enabled. There should also be a slight improvement in smoothness throughout the phone. 

Potential bugs: Graphics not showing or extra jankiness. Crashes.

Tested environments: Flame device, v188-1 firmware.
Gecko (git) - a2f9315326e5918a5d8f5e6e7c9052ed07a08664
Gaia - f0a247f015227a18050e03e75a7dd8c877fb1ca8
Keywords: qawanted
30 runs on a flame device with silk off/on with make-test perf. All tests results are from the moz-app-visually-complete start up event. From the results, it looks like negligible difference in start up times. 

The worst case is the camera with a 20 ms increase in start up time with the best case being contacts, with a 20ms decrease in start up time. Both results seem to be within noise measurements.
There is a slight dip in FPS while scrolling the homescreen, ~1-2 fps. This is probably occurring from missing layer transactions due to the refresh driver not being enabled by default yet. The same problem from (https://bugzilla.mozilla.org/show_bug.cgi?id=1077651#c7). However, both are still pretty good.

Master
Discarded 56 frames over 919.358594 ms in histogram for Compositor
FPS for Compositor. Total Frames: 597 Time Interval: 10.009997 seconds
FPS: 57 = 1. FPS: 60 = 4. FPS: 61 = 4. 
Mean: 60.111111 , std dev 1.196703

Silk Compositor Only
Discarded 56 frames over 967.293334 ms in histogram for Compositor
FPS for Compositor. Total Frames: 576 Time Interval: 10.005537 seconds
FPS: 54 = 1. FPS: 56 = 1. FPS: 57 = 2. FPS: 58 = 2. FPS: 60 = 3. 
Mean: 57.777778 , std dev 1.930905

Discarded 60 frames over 984.192708 ms in histogram for Compositor
FPS for Compositor. Total Frames: 598 Time Interval: 10.008900 seconds
FPS: 58 = 1. FPS: 60 = 8. 
Mean: 59.777778 , std dev 0.628539
Attachment #8554591 - Flags: review?(bugmail.mozilla)
Comment on attachment 8554591 [details] [diff] [review]
Enable Vsync Compositor by default on b2g

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

Change commit message to r=kats
Attachment #8554591 - Flags: review?(bugmail.mozilla) → review+
Blocks: 1125885
Keywords: leave-open
Keywords: leave-open
https://hg.mozilla.org/mozilla-central/rev/d914c177e2ba
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla38
Depends on: 1126373
Carrying r+, waiting until next week to uplift.
Flags: needinfo?(mchang)
Attachment #8555975 - Flags: review+
Manually tested this on v2_2 branch, git rev 173569b3aa1efb97db3fc0443a9bb053acf28b42. Everything looking good for uplift next week.
Flags: needinfo?(mchang)
Flags: needinfo?(mchang)
Comment on attachment 8555975 [details] [diff] [review]
Enable vsync compositor by default on b2g, rebased for mozillab2g37_v2_2

[Approval Request Comment]
Bug caused by (feature/regressing bug #): Project Silk, 987532
User impact if declined: Composite performance will remain the same. This is mostly a performance improvement patch.
Testing completed: Mochitests, has been tested on master for 1 week, manual testing with today's 2.2 branch.
Risk to taking this patch (and alternatives if risky): High, this fundamentally changes how the compositor is scheduled and uses hardware features on kit-kat to create smoother experiences.
String or UUID changes made by this patch: None
Flags: needinfo?(mchang)
Attachment #8555975 - Flags: approval-mozilla-b2g37?
BTW, if test_deferred_start.html becomes orange, on 2.2, we have to disable the test from bug 1119981, which was not uplifted to 2.2.
no-jun, can you confirm the verification of this on master/central and that we have no blocking regressions QA found before we do the branch uplift?
Flags: needinfo?(npark)
Bug 1124398 is a touch-related bug that cropped up recently, and I filed bug 1129126, but both of them came out before silk was enabled.  So I think this patch is good, and I do notice less jankiness under repeated UI input.
Flags: needinfo?(npark)
Attachment #8555975 - Flags: approval-mozilla-b2g37? → approval-mozilla-b2g37+
Removing qawanted since this was tested and implemented.
QA Whiteboard: [QAnalyst-Triage+]
Keywords: qawanted
gfx.vsync.compositor=true slows down the mouse move events. Mouse move events are not synched with the vsync and lags the rendering process. Mouse pointer moves faster than the things it carries (such as in games). It would be better to leave it disabled for the sake of end user experience (isnt it the whole purpose?) while hardware one does not affect the performance.
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: