Open Bug 1880794 Opened 2 years ago Updated 11 months ago

Tab preview from dragging appears to use software rendering and blocks both content-process and parent process

Categories

(Core :: Graphics, defect, P2)

Desktop
Windows
defect

Tracking

()

Performance Impact low

People

(Reporter: mayankleoboy1, Unassigned)

References

Details

(Whiteboard: perf:responsiveness, reproducible)

Attachments

(3 files)

  1. Open google.com in tabB

  2. Open the attached testcase in tabA. It will open instantaneously. (you will notice that it uses hw-wr which is expected)

  3. Drag the tab from the tab bar to create a new window

AR: The tab takes a long time to draw. It also appears to use software rendering.

  1. Now reattach the new window back to the original window.

AR: the tab takes a long time to draw

Profile: https://share.firefox.dev/49C1NTa , https://share.firefox.dev/3ON1exQ

Profile suggests that this drawing is using sw-wr and happens on both the content-process and parent-process.

Maybe improve this, or give-up generating tab-preview for "complex" pages, or if it takes more than 200ms or something.

Can repro on a build from Jan2022, so not a new regression. This behaviour may be by design so feel free to mark INVALID.

Attached file about:support
Attached file Testcase.html

cc'ing some folks who may have an opinion here.

Type: enhancement → defect
Component: Widget: Win32 → Graphics
OS: Unspecified → Windows
Hardware: Unspecified → Desktop
Summary: Tab preview appears to use software rendering and blocks both content-process and parent process → Tab preview from dragging appears to use software rendering and blocks both content-process and parent process

The severity field is not set for this bug.
:bhood, could you have a look please?

For more information, please visit BugBot documentation.

Flags: needinfo?(bhood)
Severity: -- → S3
Component: Graphics → Graphics: WebRender
Flags: needinfo?(bhood)
Priority: -- → P2
See Also: → 720575
Performance Impact: --- → ?

It would be good to check if this still happens (I can't do that because I believe I'm on SW WR always :D). Mayank, can you please confirm? Thanks

Performance Impact: ? → pending-needinfo
Flags: needinfo?(mayankleoboy1)

I can still repro this : https://share.firefox.dev/4cQQPdC

Flags: needinfo?(mayankleoboy1)

Thanks!

The Performance Impact Calculator has determined this bug's performance impact to be low. If you'd like to request re-triage, you can reset the Performance Impact flag to "?" or needinfo the triage sheriff.

Platforms: Windows
Impact on site: Causes noticeable jank
Configuration: Specific but common
Websites affected: Rare
[x] Able to reproduce locally

Performance Impact: pending-needinfo → low
Whiteboard: perf:responsiveness, reproducible

I'm not familiar with how tab previews and drag snapshot are implemented, but from the look of these profiles they don't seem to involve WebRender. It's using the main thread panting code to call into skia directly.

Painting blurs is expensive on the CPU (that's what most of the skia time appears to be in), but I'm surprised that we'd spend so long (1.2s) when rendering a rather small thumbnail.

Component: Graphics: WebRender → Graphics
No longer blocks: wr-investigate-perf
Attached file Testcase2_Torus.html

This doesnt have blurs, but still takes a lot of time : https://share.firefox.dev/4e19Paq

(In reply to Mayank Bansal from comment #9)

Created attachment 9422566 [details]
Testcase2_Torus.html

This doesnt have blurs, but still takes a lot of time : https://share.firefox.dev/4e19Paq

Yeah, 3d transforms is also going to be a bad time for skia (software).

bug 1873139 is a related bug for the torus testcase.
bug 1719164 has a similar bug where the drag preview is huge and causes janks.

See Also: → 1873139
See Also: → 1719164
See Also: → 1922388
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: