Open
Bug 1270841
Opened 9 years ago
Updated 2 years ago
Incredible slow canvas on certain site
Categories
(Core :: Graphics: Canvas2D, defect, P3)
Tracking
()
NEW
Tracking | Status | |
---|---|---|
firefox49 | --- | affected |
People
(Reporter: alice0775, Unassigned)
References
()
Details
(4 keywords, Whiteboard: [gfx-noted])
Attachments
(2 files)
369.04 KB,
text/x-gzip-html
|
Details | |
7.84 KB,
patch
|
Details | Diff | Splinter Review |
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.
![]() |
Reporter | |
Comment 1•9 years ago
|
||
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
Comment 2•9 years ago
|
||
Plus, the memory use increases a lot. I noticed 1GB memory usage for that particular content-process.exe while the demo was running.
![]() |
Reporter | |
Comment 4•9 years ago
|
||
Comment 5•9 years ago
|
||
(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)
Comment 7•9 years ago
|
||
(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]
Updated•9 years ago
|
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.
![]() |
||
Comment 10•7 years ago
|
||
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]
Updated•3 years ago
|
Severity: normal → S3
Comment 11•2 years ago
|
||
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.
Description
•