Closed Bug 1413567 (android-rdl) Opened 7 years ago Closed 5 years ago

Enable Retained Display Lists for Android

Categories

(Core :: Web Painting, enhancement, P2)

Unspecified
Android
enhancement

Tracking

()

RESOLVED FIXED
mozilla68
Performance Impact medium
Tracking Status
relnote-firefox --- 68+
firefox68 --- fixed

People

(Reporter: mikokm, Assigned: tnikkel)

References

(Blocks 1 open bug)

Details

(Keywords: perf:responsiveness, Whiteboard: [geckoview:p2])

Attachments

(2 files)

At the moment, the content process check in http://searchfox.org/mozilla-central/rev/aa1343961fca52e8c7dab16788530da31aab7c8d/layout/generic/nsFrame.cpp#974 disables retained display lists on Android.

This bug tracks enabling retained display lists on Android.
Priority: -- → P2
I understand this to be blocked on bug 1459312, which I hope to tackle in the near future.
Depends on: 1459312
OS: Unspecified → Android
Whiteboard: [geckoview:p2]
Kats, will Retained Display List still be useful on Android after we have WebRender?
Depends on: 1413526
Flags: needinfo?(kats)
See Also: 1413526
Whiteboard: [geckoview:p2] → [geckoview:p2][qf]
I believe so, yes. They affect different parts of the rendering pipeline, so we can have both.
Flags: needinfo?(kats)
Whiteboard: [geckoview:p2][qf] → [geckoview:p2][qf:p2:responsiveness]
No longer depends on: 1459312

Jessie says that the gfx team plans to work on Android RDL in Q2.

Alias: android-rdl
Summary: Enable retained display lists for Android → Enable Retained Display Lists for Android
Depends on: 1537667
Depends on: 1539391

All three failures are small antialiasing differences in the text in the test. The text in the tests aren't even testing anything, they just describe what to expect from the test.

Until we get fuzzy matching in web platform tests (bug 1478472) we just have to mark them as fails, but we can be very specific about the platform, so we're probably still passing these tests on other android jobs if they are run there (not sure).

Even though we don't look at the chrome value on android in nsLayoutUtils::AreRetainedDisplayListsEnabled(), I flipped it just in case someone looks at that pref somewhere else.

Depends on D25280

See Also: → 1539955
Pushed by tnikkel@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/a18b96a8205d
Adjust test expectations for RDL on android. r=mattwoodrow
https://hg.mozilla.org/integration/autoland/rev/ac5ec27136d7
Enable retained display lists for android. r=mattwoodrow

Backed out 2 changesets (bug 1413567) for xpcshell failures on Android platform on a CLOSED TREE.

Backout link: https://hg.mozilla.org/integration/autoland/rev/01c0722546ab4497e48d9404f2281176fb9796bc

Push with failures: https://treeherder.mozilla.org/#/jobs?repo=autoland&resultStatus=testfailed%2Cbusted%2Cexception&selectedJob=236753454&revision=ac5ec27136d703282444075027fd58de6be378a5

Log link: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=236756984&repo=autoland&lineNumber=1390

Log snippet:

[task 2019-03-28T22:04:44.853Z] 22:04:44 INFO - TEST-START | security/manager/ssl/tests/unit/test_ocsp_stapling.js
[task 2019-03-28T22:04:46.363Z] 22:04:46 WARNING - TEST-UNEXPECTED-FAIL | security/manager/ssl/tests/unit/test_ocsp_stapling.js | xpcshell return code: 139
[task 2019-03-28T22:04:46.364Z] 22:04:46 INFO - TEST-INFO took 1511ms
[task 2019-03-28T22:04:46.365Z] 22:04:46 INFO - >>>>>>>
[task 2019-03-28T22:04:46.365Z] 22:04:46 INFO - security/manager/ssl/tests/unit/test_ocsp_stapling.js | xpcw: cd /sdcard/tests/xpc/security/manager/ssl/tests/unit
[task 2019-03-28T22:04:46.365Z] 22:04:46 INFO - security/manager/ssl/tests/unit/test_ocsp_stapling.js | xpcw: xpcshell -r /sdcard/tests/xpc/c/httpd.manifest --greomni /data/local/xpcb/target.apk -m -s -e const _HEAD_JS_PATH = "/sdcard/tests/xpc/head.js"; -e const _MOZINFO_JS_PATH = "/sdcard/tests/xpc/p/mozinfo.json"; -e const _PREFS_FILE = "/sdcard/tests/xpc/user.js"; -e const _TESTING_MODULES_DIR = "/sdcard/tests/xpc/m"; -f /sdcard/tests/xpc/head.js -e const _HEAD_FILES = ["/sdcard/tests/xpc/security/manager/ssl/tests/unit/head_psm.js"]; -e const _JSDEBUGGER_PORT = 0; -e const _TEST_FILE = ["test_ocsp_stapling.js"]; -e const _TEST_NAME = "security/manager/ssl/tests/unit/test_ocsp_stapling.js"; -e _execute_test(); quit(0);
[task 2019-03-28T22:04:46.365Z] 22:04:46 INFO - security/manager/ssl/tests/unit/test_ocsp_stapling.js | [829, Unnamed thread 47a0e080] WARNING: XPCOM objects created/destroyed from static ctor/dtor: file /builds/worker/workspace/build/src/xpcom/base/nsTraceRefcnt.cpp, line 194
[task 2019-03-28T22:04:46.366Z] 22:04:46 INFO - security/manager/ssl/tests/unit/test_ocsp_stapling.js | [829, Unnamed thread 47a0e080] WARNING: XPCOM objects created/destroyed from static ctor/dtor: file /builds/worker/workspace/build/src/xpcom/base/nsTraceRefcnt.cpp, line 194
[task 2019-03-28T22:04:46.366Z] 22:04:46 INFO - security/manager/ssl/tests/unit/test_ocsp_stapling.js | [829, Unnamed thread 47a0e080] WARNING: XPCOM objects created/destroyed from static ctor/dtor: file /builds/worker/workspace/build/src/xpcom/base/nsTraceRefcnt.cpp, line 194
[task 2019-03-28T22:04:46.366Z] 22:04:46 INFO - security/manager/ssl/tests/unit/test_ocsp_stapling.js | [829, Unnamed thread 47a0e080] WARNING: XPCOM objects created/destroyed from static ctor/dtor: file /builds/worker/workspace/build/src/xpcom/base/nsTraceRefcnt.cpp, line 194
[task 2019-03-28T22:04:46.366Z] 22:04:46 INFO - security/manager/ssl/tests/unit/test_ocsp_stapling.js | [829, Main Thread] WARNING: No Android crash handler set: file /builds/worker/workspace/build/src/toolkit/crashreporter/nsExceptionHandler.cpp, line 1463
[task 2019-03-28T22:04:46.368Z] 22:04:46 INFO - security/manager/ssl/tests/unit/test_ocsp_stapling.js | \x07[829, Main Thread] ###!!! ASSERTION: greprefs.js:3181: prefs parse error: expected ',' or ')' after pref value: 'Error', file /builds/worker/workspace/build/src/modules/libpref/Preferences.cpp, line 1740
[task 2019-03-28T22:04:46.368Z] 22:04:46 INFO - security/manager/ssl/tests/unit/test_ocsp_stapling.js | #01: ???[libxul.so +0x3a57122]
[task 2019-03-28T22:04:46.368Z] 22:04:46 INFO - security/manager/ssl/tests/unit/test_ocsp_stapling.js | #02: ???[libxul.so +0x3a56efa]
[task 2019-03-28T22:04:46.368Z] 22:04:46 INFO - security/manager/ssl/tests/unit/test_ocsp_stapling.js | #03: ???[libxul.so +0x6b4abe]
[task 2019-03-28T22:04:46.368Z] 22:04:46 INFO - security/manager/ssl/tests/unit/test_ocsp_stapling.js | #04: ???[libxul.so +0x6ad9ea]
[task 2019-03-28T22:04:46.368Z] 22:04:46 INFO - security/manager/ssl/tests/unit/test_ocsp_stapling.js | #05: ???[libxul.so +0x69fc2e]
[task 2019-03-28T22:04:46.368Z] 22:04:46 INFO - security/manager/ssl/tests/unit/test_ocsp_stapling.js | #06: ???[libxul.so +0x69f86a]
[task 2019-03-28T22:04:46.369Z] 22:04:46 INFO - security/manager/ssl/tests/unit/test_ocsp_stapling.js | #07: ???[libxul.so +0x65d602]
[task 2019-03-28T22:04:46.369Z] 22:04:46 INFO - security/manager/ssl/tests/unit/test_ocsp_stapling.js | #08: ???[libxul.so +0x667720]
[task 2019-03-28T22:04:46.369Z] 22:04:46 INFO - security/manager/ssl/tests/unit/test_ocsp_stapling.js | #09: ???[libxul.so +0x665472]
[task 2019-03-28T22:04:46.369Z] 22:04:46 INFO - security/manager/ssl/tests/unit/test_ocsp_stapling.js | #10: ???[libxul.so +0x669434]
[task 2019-03-28T22:04:46.369Z] 22:04:46 INFO - security/manager/ssl/tests/unit/test_ocsp_stapling.js | #11: ???[libxul.so +0x5dfc86]
[task 2019-03-28T22:04:46.369Z] 22:04:46 INFO - security/manager/ssl/tests/unit/test_ocsp_stapling.js | #12: ???[libxul.so +0x6912d4]
[task 2019-03-28T22:04:46.369Z] 22:04:46 INFO - security/manager/ssl/tests/unit/test_ocsp_stapling.js | #13: ???[libxul.so +0x6a5778]
[task 2019-03-28T22:04:46.369Z] 22:04:46 INFO - security/manager/ssl/tests/unit/test_ocsp_stapling.js | #14: ???[libxul.so +0x6aedea]
[task 2019-03-28T22:04:46.369Z] 22:04:46 INFO - security/manager/ssl/tests/unit/test_ocsp_stapling.js | #15: ???[libxul.so +0x6aedbe]
[task 2019-03-28T22:04:46.370Z] 22:04:46 INFO - security/manager/ssl/tests/unit/test_ocsp_stapling.js | #16: ???[libxul.so +0xcdbcfe]
[task 2019-03-28T22:04:46.370Z] 22:04:46 INFO - security/manager/ssl/tests/unit/test_ocsp_stapling.js | #17: ???[libxul.so +0xcdb812]

Flags: needinfo?(tnikkel)
Attachment #9054298 - Attachment description: Bug 1413567. Adjust test expectations for RDL on android. r?mattwoodrow → Bug 1413567. Adjust test expectations for RDL on android. r=mattwoodrow
Attachment #9054299 - Attachment description: Bug 1413567. Enable retained display lists for android. r?mattwoodrow → Bug 1413567. Enable retained display lists for android. r=mattwoodrow

Argh, forgot a closing parenthesis on the pref.

Flags: needinfo?(tnikkel)
Pushed by tnikkel@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/7050f5bf674a
Adjust test expectations for RDL on android. r=mattwoodrow
https://hg.mozilla.org/integration/autoland/rev/47dd44501599
Enable retained display lists for android. r=mattwoodrow
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla68
Assignee: nobody → tnikkel

Weird, I've got dozens of green r42 debug android 4.3 on my try runs without a single failure. Wondering if something else landed that caused an bad interaction.

Oh sorry, I meant if something landed between my last try push and pushing this to autoland.

Depends on: 1540908
Flags: needinfo?(tnikkel)
Pushed by tnikkel@gmail.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/53f0254dfc7e
Adjust test expectations for RDL on android. r=mattwoodrow
https://hg.mozilla.org/integration/mozilla-inbound/rev/08f895aaa82a
Enable retained display lists for android. r=mattwoodrow
Status: REOPENED → RESOLVED
Closed: 5 years ago5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla68

Should it be mentioned in our Android 68 Beta release notes as we did for our Desktop beta release notes in version 61?

Flags: needinfo?(tnikkel)

(In reply to Pascal Chevrel:pascalc from comment #19)

Should it be mentioned in our Android 68 Beta release notes as we did for
our Desktop beta release notes in version 61?

Sounds like it should!

Flags: needinfo?(tnikkel)

This is in the 68.0beta android release notes as "Improved web page painting performance by avoiding redundant calculations during paint".

Performance Impact: --- → P2
Whiteboard: [geckoview:p2][qf:p2:responsiveness] → [geckoview:p2]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: