Open Bug 1621532 Opened 4 years ago Updated 2 years ago

The above the fold animation is too slow on https://kaganhotel.com

Categories

(Core :: Graphics: WebRender, defect, P3)

defect

Tracking

()

Tracking Status
firefox78 --- wontfix

People

(Reporter: tetsuharu, Unassigned)

References

(Blocks 1 open bug)

Details

(Keywords: parity-chrome)

Attachments

(2 files)

Basic information

Steps to Reproduce:

  1. Open https://kaganhotel.com

Expected Results:

The above the fold animation is too slow. Not smooth.

Actual Results:

The above the fold animation works smooth.


More information

  • Profile URL: https://perfht.ml/39H8FAa
    • This profile is without webrender.
  • I found this problem is reproducible on the latest GeckoView on Android 10 on Pixel 3.
    • But I could not caught the performance profile.

Basic systems configuration:

OS version: macOS 10.15.3 on MacBook Pro (15-inch, 2017)

GPU model: Intel HD Graphics 630 1536 MB

Number of cores: 4 Core (2.8 GHz Quad-Core Intel Core i7)

Amount of memory (RAM): 16 GB 2133 MHz LPDDR3

Thanks so much for your help.

This performance profiles are

I captured these profiles on https://hg.mozilla.org/mozilla-central/rev/a7a6063bd5a4b49911b5a956c252a16961aec5a0

With enabling webrender, Firefox is too slow and it required much time to open the performance popup. So my steps to profile this is:

  1. Open a new blank tab and focus it.
  2. Start the peroformance profile
  3. Open the tab which opens https://kaganhotel.com/
  4. Wait some seconds.
  5. End the capture of this profile.

Chrome plays this above the fold animation smoothly.

This is fine on Windows, probably related to graphics, since it's very slow on Linux, even with webrender forced on.

Component: Performance → Graphics

Also slow on mac with or without webrender.

This animation froze my entire browser. Looks like a cool hotel, though.

With WebRender turned off, this is merely bad. With WebRender enabled, the browser locks up, spewing messages like this:

[2020-03-13T23:35:43Z ERROR webrender::device::gl] Failed to map PBO of size 16384 bytes
Crash Annotation GraphicsCriticalError: |[G0][GFX1-]: Failed to map PBO of size 4096 bytes (t=21.0873) |[G871][GFX1-]: Failed to map PBO of size 16384 bytes (t=29.4788) |[G872][GFX1-]: Failed to map PBO of size 32768 bytes (t=29.5108) |[G873][GFX1-]: Failed to map PBO of size 32768 bytes (t=29.5466) |[G874][GFX1-]: Failed to map PBO of size 16384 bytes (t=29.5467) |[G875][GFX1-]: Failed to map PBO of size 16384 bytes (t=29.5467) |[G876][GFX1-]: Failed to map PBO of size 16384 bytes (t=29.547) |[G877][GFX1-]: Failed to map PBO of size 16384 bytes (t=29.5471) |[G878][GFX1-]: Failed to map PBO of size 32768 bytes (t=29.5897) |[G879][GFX1-]: Failed to map PBO of size 32768 bytes (t=30.2739) |[G880][GFX1-]: Failed to map PBO of size 16384 bytes (t=30.2745) |[G881][GFX1-]: Failed to map PBO of size 16384 bytes (t=30.2749) |[G882][GFX1-]: Failed to map PBO of size 16384 bytes (t=30.2754) |[G883][GFX1-]: Failed to map PBO of size 16384 bytes (t=30.276) |[G869][GFX1-]: Failed to map PBO of size 16384 bytes (t=29.4786) |[G870][GFX1-]: Failed to map PBO of size 16384 bytes (t=29.4787) [GFX1-]: Failed to map PBO of size 16384 bytes
[2020-03-13T23:35:43Z ERROR webrender::device::gl] Failed to map PBO of size 16384 bytes
Flags: needinfo?(jmuizelaar)
Priority: -- → P2

The problem here is "SVG Image drawing 24000x10986 https://kaganhotel.com/wp/wp-content/themes/kagan/assets/images/logo_wh.svg"
That's bigger than we can comfortably handle.

Flags: needinfo?(jmuizelaar)
Flags: needinfo?(aosmond)
Priority: P2 → P1

--sf-img-9 is https://kaganhotel.com/wp/wp-content/themes/kagan/assets/images/logo_wh.svg
and is used as a mask at a very big size. We should try and do better somehow.

Huh, more mask questions. Maybe related to bug 1594768.

Unlike 1594769, this mask occupies the entire viewbox, so tightening the clip rectangle wouldn't help. But perhaps using Skia's fused luminance-mask operation would help.

(In reply to Jeff Muizelaar [:jrmuizel] from comment #7)

The problem here is "SVG Image drawing 24000x10986 https://kaganhotel.com/wp/wp-content/themes/kagan/assets/images/logo_wh.svg"
That's bigger than we can comfortably handle.

What sets such a high resolution for rendering that SVG?

Although this impacts non-WR as well, I am updating it to be a WR bug because we might want to re-prioritize an effort to make this better at least in WR. Nical, can you take a look and let me know where this might fit in with wr-perf priorities?

Blocks: wr-perf
Component: Graphics → Graphics: WebRender
Flags: needinfo?(nical.bugzilla)
Priority: P1 → P3

Because this bug's Severity has not been changed from the default since it was filed, and it's Priority is P3 (Backlog,) indicating it has been triaged, the bug's Severity is being updated to S3 (normal.)

Severity: normal → S3
Blocks: wr-blob-perf
No longer blocks: wr-perf
Flags: needinfo?(aosmond)
Flags: needinfo?(nical.bugzilla)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: