Open Bug 1270841 Opened 9 years ago Updated 2 years ago

Incredible slow canvas on certain site

Categories

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

Unspecified
Windows 10
defect

Tracking

()

Tracking Status
firefox49 --- affected

People

(Reporter: alice0775, Unassigned)

References

()

Details

(4 keywords, Whiteboard: [gfx-noted])

Attachments

(2 files)

Build Identifier: Steps To Reproduce: 1. Open URL http://10cloverfieldlane.jp/ wait until 100% progress bar, then animation using canvas will start. Actual Results: The animation using canvas is incredible slower than other browser, although subsequent trailer video is no problem.
Build Identifier: https://hg.mozilla.org/mozilla-central/rev/369a5ee3a2880a4a98df3a00bf3db8d8f36b181b Mozilla/5.0 (Windows NT 10.0; WOW64; rv:49.0) Gecko/20100101 Firefox/49.0 ID:20160505030327 Graphics -------- Features Compositing: Direct3D 11 Asynchronous Pan/Zoom: wheel input enabled; touch input enabled WebGL Renderer: Google Inc. -- ANGLE (AMD Radeon HD 6450 Direct3D11 vs_5_0 ps_5_0) Hardware H264 Decoding: Yes; Using D3D11 API Direct2D: true DirectWrite: true (10.0.10586.0) GPU #1 Active: Yes Description: AMD Radeon HD 6450 Vendor ID: 0x1002 Device ID: 0x6779 Driver Version: 15.301.1901.0 Driver Date: 2-26-2016 Drivers: aticfx64 aticfx64 aticfx64 amdxc64 aticfx32 aticfx32 aticfx32 amdxc32 atiumd64 atidxx64 atidxx64 atiumdag atidxx32 atidxx32 atiumdva atiumd6a atitmm64 Subsys ID: 23111787 RAM: 1024 Diagnostics ClearType Parameters: Gamma: 2200 Pixel Structure: R ClearType Level: 100 Enhanced Contrast: 300 AzureCanvasAccelerated: 0 AzureCanvasBackend: direct2d 1.1 AzureContentBackend: direct2d 1.1 AzureFallbackCanvasBackend: cairo ClearType Parameters: Gamma: 2200 Pixel Structure: R ClearType Level: 100 Enhanced Contrast: 300
Attached file memory-report.json.gz
Plus, the memory use increases a lot. I noticed 1GB memory usage for that particular content-process.exe while the demo was running.
Bas, can you reproduce?
Flags: needinfo?(bas)
(In reply to Jeff Muizelaar [:jrmuizel] from comment #3) > Bas, can you reproduce? Yes, I can, the symptoms, combined with the information from the profiler, lead me to believe that this Canvas demo is using a rectangular clip, we don't make a distinction for canvas between rectangular and complex clips. Indeed if we look at the code: _context.restore(); _context.beginPath(); _context.moveTo(0, 0); _context.lineTo(0, _col); _context.lineTo(_row, _col); _context.lineTo(_row, 0); _context.closePath(); _context.clip(); _context.save(); So this adds too bits of complexity to making the very naive approach work: 1. The rectangle is wound counter clockwise. 2. It's emitted in lines instead of using the rect instruction. We could add code complexity to detect this being a rectangle. I'm not sure if that's what we want though.
Flags: needinfo?(bas)
How does Edge do on this example?
Flags: needinfo?(bas)
(In reply to Jeff Muizelaar [:jrmuizel] from comment #6) > How does Edge do on this example? It does fine. It's detecting that it's a rectangle from what I can tell.
Flags: needinfo?(bas)
The page is gone - did anybody save that canvas?
Priority: -- → P3
Whiteboard: [parity-IE][parity-Chrome][parity-Edge] → [parity-IE][parity-Chrome][parity-Edge][gfx-noted]
Flags: needinfo?(milan)
The patch to detect the rectangle with Skia/SkiaGL is fairly easy, but without a test case, it doesn't make sense to land a change that we can't tell is making a difference.
Mass bug change to replace various 'parity' whiteboard flags with the new canonical keywords. (See bug 1443764 comment 13.)
Whiteboard: [parity-IE][parity-Chrome][parity-Edge][gfx-noted] → [gfx-noted]
Severity: normal → S3

Clear a needinfo that is pending on an inactive user.

Inactive users most likely will not respond; if the missing information is essential and cannot be collected another way, the bug maybe should be closed as INCOMPLETE.

For more information, please visit BugBot documentation.

Flags: needinfo?(milaninbugzilla)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: