Performance regression when rendering PDFs from bug 1056532
Categories
(Core :: Graphics: Canvas2D, defect)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr91 | --- | unaffected |
firefox-esr102 | --- | disabled |
firefox102 | --- | disabled |
firefox103 | --- | disabled |
firefox104 | --- | fixed |
People
(Reporter: marco, Assigned: lsalzman)
References
(Blocks 1 open bug, Regression)
Details
(Keywords: regression)
Attachments
(1 file)
The rendering for the reduced test case from bug 1056532 comment 3 takes ~1 second for me on Linux.
The rendering of page 35 of the original PDF from bug 1056532 comment 0 (or directly bug 1056532 comment 1) is pretty slow too.
Updated•2 years ago
|
Comment 1•2 years ago
|
||
Set release status flags based on info from the regressing bug 1770088
Comment 2•2 years ago
|
||
:lsalzman, since you are the author of the regressor, bug 1770088, could you take a look?
For more information, please visit auto_nag documentation.
Assignee | ||
Updated•2 years ago
|
Updated•2 years ago
|
Updated•2 years ago
|
Assignee | ||
Comment 3•2 years ago
|
||
When rendering large and/or fullscreen Canvas2Ds, excessive time can be spent
in calls to TexImage/ReadPixels copying into and out of Shmems to the separate
buffer for DrawTargetSkia. To alleviate this, we can make the DrawTargetSkia
directly wrap the Shmem, so that calls to TexImage/ReadPixels then directly
read or write to this without any separate copy. We modify RawTexImage to use
the IPDL SendTexImage path so that Shmems can be sent via SurfaceDescriptor.
Since SendTexImage is nominally async (which is beneficial), we rely on a
call to GetError later to verify that the Shmem processing is completely before
we further modify the DrawTargetSkia. We further add a ReadPixelsIntoShmem IPDL
call to allow sending the Shmem in the other direction directly.
Updated•2 years ago
|
Pushed by lsalzman@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/2c17688069a7 Use Shmem for backing DrawTargetWebgl's Skia target. r=jgilbert
Comment 5•2 years ago
|
||
Backed out for causing mochitest failures in browser_rules_flexbox-highlighter-on-mutation.js
- Backout link
- Push with failures
- Failure Log
- Failure line: PROCESS-CRASH | devtools/client/inspector/rules/test/browser_rules_flexbox-highlighter-on-mutation.js | application crashed [@ mozilla::dom::ReadPixelsBuffer::operator unsigned long&()]
Assignee | ||
Updated•2 years ago
|
Pushed by lsalzman@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/458aae4c5d0a Use Shmem for backing DrawTargetWebgl's Skia target. r=jgilbert
Backed out for causing mochitest failures on Shmem.cpp
Failure line: Assertion failure: mSegment (null segment), at /builds/worker/checkouts/gecko/ipc/glue/Shmem.cpp:249
[task 2022-07-12T08:51:29.322Z] 08:51:29 INFO - TEST-START | devtools/client/inspector/rules/test/browser_rules_flexbox-highlighter-on-mutation.js
[task 2022-07-12T08:51:29.389Z] 08:51:29 INFO - GECKO(1630) | [Child 1751: Main Thread]: I/DocShellAndDOMWindowLeak ++DOCSHELL 7f67da184800 == 2 [pid = 1751] [id = 6]
[task 2022-07-12T08:51:29.390Z] 08:51:29 INFO - GECKO(1630) | [Child 1751: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 3 (7f67f5191d90) [pid = 1751] [serial = 17] [outer = 0]
[task 2022-07-12T08:51:29.392Z] 08:51:29 INFO - GECKO(1630) | [Child 1751: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 4 (7f67da184c00) [pid = 1751] [serial = 18] [outer = 7f67f5191d90]
[task 2022-07-12T08:51:29.409Z] 08:51:29 INFO - GECKO(1630) | [Child 1786, Main Thread] WARNING: '!CanHandleWith(aPresContext)', file /builds/worker/checkouts/gecko/dom/events/IMEStateManager.cpp:498
[task 2022-07-12T08:51:29.470Z] 08:51:29 INFO - GECKO(1630) | [Child 1967: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 2 (7f2f28b91d90) [pid = 1967] [serial = 1] [outer = 0] [url = http://example.com/browser/devtools/client/inspector/rules/test/doc_filter.html]
[task 2022-07-12T08:51:29.470Z] 08:51:29 INFO - GECKO(1630) | [Child 1967: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 1 (7f2f12b8e400) [pid = 1967] [serial = 3] [outer = 0] [url = http://example.com/browser/devtools/client/inspector/rules/test/doc_filter.html]
[task 2022-07-12T08:51:29.470Z] 08:51:29 INFO - GECKO(1630) | [Child 1967: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 0 (7f2f12b8c800) [pid = 1967] [serial = 2] [outer = 0] [url = about:blank]
[task 2022-07-12T08:51:29.471Z] 08:51:29 INFO - GECKO(1630) | [Child 1967, Main Thread] WARNING: Extra shutdown CC: 'i < NORMAL_SHUTDOWN_COLLECTIONS', file /builds/worker/checkouts/gecko/xpcom/base/nsCycleCollector.cpp:3359
[task 2022-07-12T08:51:29.476Z] 08:51:29 INFO - GECKO(1630) | [Child 1967, Main Thread] WARNING: NS_ENSURE_TRUE(InitStaticMembers()) failed: file /builds/worker/workspace/obj-build/dist/include/mozilla/Preferences.h:129
[task 2022-07-12T08:51:29.497Z] 08:51:29 INFO - GECKO(1630) | [Child 1967, Main Thread] WARNING: NS_ENSURE_TRUE(Preferences::InitStaticMembers()) failed: file /builds/worker/checkouts/gecko/modules/libpref/Preferences.cpp:4595
[task 2022-07-12T08:51:29.537Z] 08:51:29 INFO - GECKO(1630) | [Parent 1630: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 22 (7f586fda6650) [pid = 1630] [serial = 41] [outer = 0] [url = about:devtools-toolbox]
[task 2022-07-12T08:51:29.539Z] 08:51:29 INFO - GECKO(1630) | [Parent 1630: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 21 (7f586fda6d90) [pid = 1630] [serial = 44] [outer = 0] [url = chrome://devtools/content/inspector/index.xhtml]
[task 2022-07-12T08:51:29.580Z] 08:51:29 INFO - GECKO(1630) | [Child 1751: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 5 (7f67da183800) [pid = 1751] [serial = 19] [outer = 7f67f5191d90]
[task 2022-07-12T08:51:29.902Z] 08:51:29 INFO - GECKO(1630) | [Parent 1630: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 20 (7f586fda76a0) [pid = 1630] [serial = 46] [outer = 0] [url = chrome://devtools/content/inspector/markup/markup.xhtml]
[task 2022-07-12T08:51:29.956Z] 08:51:29 INFO - GECKO(1630) | [Parent 1630: Main Thread]: I/DocShellAndDOMWindowLeak ++DOCSHELL 7f5869080400 == 9 [pid = 1630] [id = 23]
[task 2022-07-12T08:51:29.958Z] 08:51:29 INFO - GECKO(1630) | [Parent 1630: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 21 (7f586e0592b0) [pid = 1630] [serial = 55] [outer = 0]
[task 2022-07-12T08:51:29.960Z] 08:51:29 INFO - GECKO(1630) | [Parent 1630: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 22 (7f5869081c00) [pid = 1630] [serial = 56] [outer = 7f586e0592b0]
[task 2022-07-12T08:51:30.030Z] 08:51:30 INFO - GECKO(1630) | [Parent 1630: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 23 (7f586fdcbc00) [pid = 1630] [serial = 57] [outer = 7f586e0592b0]
[task 2022-07-12T08:51:30.162Z] 08:51:30 INFO - GECKO(1630) | [Parent 1630, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005 (NS_ERROR_FAILURE): file /builds/worker/checkouts/gecko/dom/base/nsContentUtils.cpp:4063
[task 2022-07-12T08:51:30.377Z] 08:51:30 INFO - GECKO(1630) | [Parent 1630: Main Thread]: I/DocShellAndDOMWindowLeak ++DOCSHELL 7f586fdca400 == 10 [pid = 1630] [id = 24]
[task 2022-07-12T08:51:30.378Z] 08:51:30 INFO - GECKO(1630) | [Parent 1630: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 24 (7f586fda7c10) [pid = 1630] [serial = 58] [outer = 0]
[task 2022-07-12T08:51:30.379Z] 08:51:30 INFO - GECKO(1630) | [Parent 1630: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 25 (7f586fdcb000) [pid = 1630] [serial = 59] [outer = 7f586fda7c10]
[task 2022-07-12T08:51:30.395Z] 08:51:30 INFO - GECKO(1630) | [Parent 1630, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005 (NS_ERROR_FAILURE): file /builds/worker/checkouts/gecko/chrome/nsChromeRegistry.cpp:180
[task 2022-07-12T08:51:30.396Z] 08:51:30 INFO - GECKO(1630) | [Parent 1630, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005 (NS_ERROR_FAILURE): file /builds/worker/checkouts/gecko/dom/security/nsCSPService.cpp:190
[task 2022-07-12T08:51:31.047Z] 08:51:31 INFO - GECKO(1630) | [Parent 1630: Main Thread]: I/DocShellAndDOMWindowLeak ++DOCSHELL 7f586fdd1400 == 11 [pid = 1630] [id = 25]
[task 2022-07-12T08:51:31.049Z] 08:51:31 INFO - GECKO(1630) | [Parent 1630: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 26 (7f586fda6650) [pid = 1630] [serial = 60] [outer = 0]
[task 2022-07-12T08:51:31.049Z] 08:51:31 INFO - GECKO(1630) | [Parent 1630: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 27 (7f587117c400) [pid = 1630] [serial = 61] [outer = 7f586fda6650]
[task 2022-07-12T08:51:31.065Z] 08:51:31 INFO - GECKO(1630) | [Parent 1630, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005 (NS_ERROR_FAILURE): file /builds/worker/checkouts/gecko/chrome/nsChromeRegistry.cpp:180
[task 2022-07-12T08:51:31.065Z] 08:51:31 INFO - GECKO(1630) | [Parent 1630, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005 (NS_ERROR_FAILURE): file /builds/worker/checkouts/gecko/dom/security/nsCSPService.cpp:190
[task 2022-07-12T08:51:31.374Z] 08:51:31 INFO - GECKO(1630) | [Child 1786: Main Thread]: I/DocShellAndDOMWindowLeak --DOCSHELL 7f8890749c00 == 1 [pid = 1786] [id = 3] [url = about:blank]
[task 2022-07-12T08:51:31.506Z] 08:51:31 INFO - GECKO(1630) | [Child 1786: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 3 (7f88ab991f60) [pid = 1786] [serial = 8] [outer = 0] [url = about:blank]
[task 2022-07-12T08:51:31.574Z] 08:51:31 INFO - GECKO(1630) | [Child 1751, Main Thread] WARNING: '!CanHandleWith(aPresContext)', file /builds/worker/checkouts/gecko/dom/events/IMEStateManager.cpp:498
[task 2022-07-12T08:51:31.827Z] 08:51:31 INFO - GECKO(1630) | console.log: "[DISPATCH] action type:" "CLEAR_FLEXBOX"
[task 2022-07-12T08:51:31.846Z] 08:51:31 INFO - GECKO(1630) | console.log: "[DISPATCH] action type:" "UPDATE_GRIDS"
[task 2022-07-12T08:51:32.066Z] 08:51:32 INFO - GECKO(1630) | console.log: "[DISPATCH] action type:" "UPDATE_OFFSET_PARENT"
[task 2022-07-12T08:51:32.087Z] 08:51:32 INFO - GECKO(1630) | console.log: "[DISPATCH] action type:" "UPDATE_LAYOUT"
[task 2022-07-12T08:51:32.347Z] 08:51:32 INFO - GECKO(1630) | console.log: "[DISPATCH] action type:" "UPDATE_OFFSET_PARENT"
[task 2022-07-12T08:51:32.395Z] 08:51:32 INFO - GECKO(1630) | [Parent 1630, CanvasRenderer] WARNING: robust_buffer_access_behavior marked as unsupported: file /builds/worker/checkouts/gecko/gfx/gl/GLContextFeatures.cpp:632
[task 2022-07-12T08:51:32.401Z] 08:51:32 INFO - GECKO(1630) | [Parent 1630, CanvasRenderer] WARNING: Robustness supported, strategy is not LOSE_CONTEXT_ON_RESET!: file /builds/worker/checkouts/gecko/gfx/gl/GLContext.cpp:995
[task 2022-07-12T08:51:32.402Z] 08:51:32 INFO - GECKO(1630) | [Parent 1630, CanvasRenderer] WARNING: robustness marked as unsupported: file /builds/worker/checkouts/gecko/gfx/gl/GLContextFeatures.cpp:632
[task 2022-07-12T08:51:32.408Z] 08:51:32 INFO - GECKO(1630) | console.log: "[DISPATCH] action type:" "UPDATE_LAYOUT"
[task 2022-07-12T08:51:32.754Z] 08:51:32 INFO - GECKO(1630) | [Parent 1630: Main Thread]: I/DocShellAndDOMWindowLeak --DOCSHELL 7f586fdc6400 == 10 [pid = 1630] [id = 21] [url = chrome://devtools/content/inspector/index.xhtml]
[task 2022-07-12T08:51:32.756Z] 08:51:32 INFO - GECKO(1630) | [Parent 1630: Main Thread]: I/DocShellAndDOMWindowLeak --DOCSHELL 7f5871176400 == 9 [pid = 1630] [id = 22] [url = chrome://devtools/content/inspector/markup/markup.xhtml]
[task 2022-07-12T08:51:32.757Z] 08:51:32 INFO - GECKO(1630) | [Parent 1630: Main Thread]: I/DocShellAndDOMWindowLeak --DOCSHELL 7f586fdc5400 == 8 [pid = 1630] [id = 20] [url = about:devtools-toolbox]
[task 2022-07-12T08:51:32.796Z] 08:51:32 INFO - GECKO(1630) | Assertion failure: mSegment (null segment), at /builds/worker/checkouts/gecko/ipc/glue/Shmem.cpp:249
[task 2022-07-12T08:51:32.802Z] 08:51:32 INFO - Initializing stack-fixing for the first stack frame, this may take a while...
[task 2022-07-12T08:51:38.704Z] 08:51:38 INFO - GECKO(1630) | #01: mozilla::ipc::Shmem::AssertInvariants() const [ipc/glue/Shmem.cpp:249]
[task 2022-07-12T08:51:38.707Z] 08:51:38 INFO - GECKO(1630) | #02: mozilla::ipc::Shmem::RevokeRights(mozilla::ipc::Shmem::PrivateIPDLCaller) [ipc/glue/Shmem.cpp:265]
[task 2022-07-12T08:51:38.714Z] 08:51:38 INFO - GECKO(1630) | #03: mozilla::ipc::IPDLParamTraits<mozilla::ipc::Shmem>::Write(IPC::MessageWriter*, mozilla::ipc::IProtocol*, mozilla::ipc::Shmem&&) [ipc/glue/Shmem.cpp:441]
[task 2022-07-12T08:51:38.714Z] 08:51:38 INFO - GECKO(1630) | #04: mozilla::dom::PWebGLParent::OnMessageReceived(IPC::Message const&, mozilla::UniquePtr<IPC::Message, mozilla::DefaultDelete<IPC::Message> >&) [s3:gecko-generated-sources:fb21635550cfa7f400b7ec48def57ba476249f1b93002e41943342ef29d8fd49b87f4488835903789ae29e9b34a3c888a46b86eb6c338691f92963935fd42a56/ipc/ipdl/PWebGLParent.cpp::561]
[task 2022-07-12T08:51:38.714Z] 08:51:38 INFO - GECKO(1630) | #05: mozilla::gfx::PCanvasManagerParent::OnMessageReceived(IPC::Message const&, mozilla::UniquePtr<IPC::Message, mozilla::DefaultDelete<IPC::Message> >&) [s3:gecko-generated-sources:88edb925c0752f121964049f1b2c2b090af476a418e4935ade351735ca019d736b4ab39c6ae4cac2b67ce5f50bb871006eab0a9191d2989a3f3d0f082a76cd1f/ipc/ipdl/PCanvasManagerParent.cpp::377]
[task 2022-07-12T08:51:38.714Z] 08:51:38 INFO - GECKO(1630) | #06: mozilla::ipc::MessageChannel::DispatchSyncMessage(mozilla::ipc::ActorLifecycleProxy*, IPC::Message const&, mozilla::UniquePtr<IPC::Message, mozilla::DefaultDelete<IPC::Message> >&) [ipc/glue/MessageChannel.cpp:1716]
[task 2022-07-12T08:51:38.715Z] 08:51:38 INFO - GECKO(1630) | #07: mozilla::ipc::MessageChannel::DispatchMessage(mozilla::ipc::ActorLifecycleProxy*, mozilla::UniquePtr<IPC::Message, mozilla::DefaultDelete<IPC::Message> >) [ipc/glue/MessageChannel.cpp:1672]
[task 2022-07-12T08:51:38.715Z] 08:51:38 INFO - GECKO(1630) | #08: mozilla::ipc::MessageChannel::RunMessage(mozilla::ipc::ActorLifecycleProxy*, mozilla::ipc::MessageChannel::MessageTask&) [ipc/glue/MessageChannel.cpp:1474]
[task 2022-07-12T08:51:38.715Z] 08:51:38 INFO - GECKO(1630) | #09: mozilla::ipc::MessageChannel::MessageTask::Run() [ipc/glue/MessageChannel.cpp:1581]
Assignee | ||
Updated•2 years ago
|
Pushed by lsalzman@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/2ac99e5c0b54 Use Shmem for backing DrawTargetWebgl's Skia target. r=jgilbert
Comment 9•2 years ago
|
||
bugherder |
Updated•2 years ago
|
Description
•