Open
Bug 1238309
Opened 8 years ago
Updated 2 months ago
canvas radial gradient slow
Categories
(Core :: Graphics, defect, P3)
Tracking
()
NEW
People
(Reporter: mahks1, Unassigned)
References
Details
(Whiteboard: [gfx-noted])
Attachments
(9 files)
User Agent: Mozilla/5.0 (Windows NT 6.1; rv:43.0) Gecko/20100101 Firefox/43.0 Build ID: 20160105164030 Steps to reproduce: Draw radial gradient to canvas Actual results: See test case : Nightly 46.0a1 draws 100 in 1.12 seconds Beta 44.0b7 draws 100 in 1.36 seconds 43.0.4 draws 100 in 0.01 seconds Expected results: Newer versions should not be slower
Keywords: regression
Product: Firefox → Core
Comment 1•8 years ago
|
||
I get 0.003s on both Firefox 43 and Nightly 46, on Windows 7. You should post your about:support from both versions.
Comment 6•8 years ago
|
||
Yeah it looks you completely lost hardware acceleration on the way from Firefox 43 to 46, probably because we blocklisted your graphics driver due to some bug in it. The important lines here are the "GPU Accelerated Windows" one and the "AzureCanvasBackend" one. Can you update your graphics driver and see whether that fixes it?
Seems it has the latest driver, tried several "newer" versions but windows thought it had latest.
Does the ever "confirmed:true" from Yang (above) mean he did see the problem?
Comment 9•8 years ago
|
||
(In reply to Mahks from comment #7) > Seems it has the latest driver, tried several "newer" versions but windows > thought it had latest. You should download the latest version from http://support.amd.com/en-us/kb-articles/Pages/ATI-Radeon-3000-Series-Drivers.aspx Don't trust the Windows Update to update your drivers.
Comment 10•8 years ago
|
||
Sorry, it is affected by gfx.direct2d.disabled for me.
Reporter | ||
Comment 11•8 years ago
|
||
Reporter | ||
Comment 12•8 years ago
|
||
Thanks for that driver site, new driver installed, no change to issue.
Reporter | ||
Comment 13•8 years ago
|
||
Installed nightly on a second computer, nightly 100 @ 2.42 seconds FF 43 100 @ .004 seconds
Comment 14•8 years ago
|
||
Yeah, even with the new driver, Firefox is blocking your GPU. It means the developers saw that your GPU was crashing a lot (probably). If that's not true in your case, you can force-enable it to bring back the speed. Set "gfx.direct2d.force-enabled" to "true" on about:config
Comment 15•8 years ago
|
||
Thanks Mahks. Milan, do you know what blacklisting changes between 43 and 46 caused this? Adapter Description: ATI Mobility Radeon HD 3400 Series Adapter Drivers: aticfx32 aticfx32 atiumdag atidxx32 atiumdva Adapter RAM: 256 Asynchronous Pan/Zoom: none ClearType Parameters: Gamma: 2200 Pixel Structure: R ClearType Level: 100 Enhanced Contrast: 50 Device ID: 0x95c4 DirectWrite Enabled: false (6.1.7600.16385) Driver Date: 4-24-2013 Driver Version: 8.970.100.0 GPU #2 Active: false GPU Accelerated Windows: 0/1 Basic (OMTC) Subsys ID: 01381025 Supports Hardware H264 Decoding: No; Hardware video decoding disabled or blacklisted Vendor ID: 0x1002
Flags: needinfo?(milan)
What happens if you set environment variable MOZ_DISABLE_CRASH_GUARD and re-run?
Reporter | ||
Comment 17•8 years ago
|
||
Reporter | ||
Comment 18•8 years ago
|
||
Set environment variable MOZ_DISABLE_CRASH_GUARD=1 : 100 times = 1.44765 seconds Set gfx.direct2d.force-enabled=true : 100 times = 1.41958 seconds Both in 46.0a1
Reporter | ||
Comment 19•8 years ago
|
||
On 2nd computer running Win 7 64bit : 100 times = 2.27 seconds
So, it isn't the crash guard that's blocking this configuration; spoofing the same setup doesn't block, so I'm at a bit of a loss. David, can you put together a try (debug) build that logs the reason for blocking a configuration and we can see if Mahks wouldn't mind running with it and sending us the log?
Flags: needinfo?(milan) → needinfo?(dvander)
Mahks, could you go to about:telemetry, and paste the lines starting with "gfx." under the "Environment Data" -> "System" group?
Flags: needinfo?(dvander) → needinfo?(mahks1)
Reporter | ||
Comment 22•8 years ago
|
||
Flags: needinfo?(mahks1)
Reporter | ||
Comment 23•8 years ago
|
||
Noticed that in about:telemetry = gfx.D2DEnabled false Yet in about:config = gfx.direct2d.force-enabled;true
It looks like two things went wrong. First, "d3d11.textureSharing" is true but "d2d.status" is "failed". This means we either failed to initialize DirectWrite (unlikely) or failed to create a D3D11 device for D2D (much more likely). From there it's not clear why you don't have D3D11 acceleration, but since one D3D11 call already failed, it's likely that something in the compositor failed to initialize so it fell back to software. I'll do an instrumented build soon to see if those theories are true.
Mahks, could you try this build: http://archive.mozilla.org/pub/firefox/try-builds/danderson@mozilla.com-b19ec03e4adf673694858da636f13f802163fd6b/try-win32/firefox-46.0a1.en-US.win32.installer.exe And see if any notes/errors appear in the Graphics section of about:support? If none do, this build might be better since it will have a console and/or crash when things go wrong: http://archive.mozilla.org/pub/firefox/try-builds/danderson@mozilla.com-b19ec03e4adf673694858da636f13f802163fd6b/try-win32-debug/firefox-46.0a1.en-US.win32.zip
Flags: needinfo?(mahks1)
Reporter | ||
Comment 26•8 years ago
|
||
http://archive.mozilla.org/pub/firefox/try-builds/danderson@mozilla.com-b19ec03e4adf673694858da636f13f802163fd6b/try-win32/firefox-46.0a1.en-US.win32.installer.exe was quarantined by panda anti virus...
Flags: needinfo?(mahks1)
Reporter | ||
Comment 27•8 years ago
|
||
I should have sain that the firefox.exe that it installed was quarantined.
Reporter | ||
Comment 28•8 years ago
|
||
No errors I could identify in about:support With the second build with the console, I see some warnings in the console, do not seem to be graphics related, can not find a way to pipe that console to a file.
Reporter | ||
Comment 29•8 years ago
|
||
Anything I can do about this?
You haven't been able to run the instrumented build from comment 25?
Reporter | ||
Comment 31•8 years ago
|
||
Yes, the results for the first link are in the attachment in comment 28. For the second link in comment 25, I was unable to find a way to save the output from the console.
I'll get another build here soon, it sounds like the compositor is failing to initialize but not at any of the places I would expect.
Assignee: nobody → dvander
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
Whiteboard: [gfx-noted]
Reporter | ||
Comment 33•8 years ago
|
||
Now that FF45 is the production version, this problem becomes more of an issue. What I don't understand is why the problem is not being noticed by more users/developers. The video card is in wide use. Or is it that canvas is not used that much? I found a canvas bug in Chrome that totally defeated a method of canvas, but it took near a year for there to be sufficient response from developers before they fixed it. I would be very disappointed if I had to start using Chrome to get around this one. (Chrome clocks 100 in .02 seconds) Why does chrome not have an issue with the video card?
Mahks, could you try the latest nightly Firefox and let us know what is the value for about:support graphics under Features->Compositing, in particular, if it now shows Direct3D 9 instead.
Flags: needinfo?(mahks1)
Reporter | ||
Comment 35•8 years ago
|
||
Compositing : Direct3D 11
Reporter | ||
Comment 36•8 years ago
|
||
WebGL Renderer Google Inc. -- ANGLE (ATI Mobility Radeon HD 3400 Series Direct3D9Ex vs_3_0 ps_3_0) Hardware H264 Decoding No; Hardware video decoding disabled or blacklisted DirectWrite false (6.1.7600.16385)
That's interesting - you have the acceleration back, since compositing shows D3D11, although it's perhaps interesting that the D3D11 ANGLE is not on. Are you still seeing the same kind of a slowdown as reported in comment 0?
Reporter | ||
Comment 38•8 years ago
|
||
In 48.0a1 still took about a second for the 100 count. about 10% improvement, but still 100 X slower than FF 43. Compositing Direct3D 11 Asynchronous Pan/Zoom wheel input enabled; touch input enabled WebGL Renderer Google Inc. -- ANGLE (ATI Mobility Radeon HD 3400 Series Direct3D11 vs_4_1 ps_4_1) Hardware H264 Decoding No; Hardware video decoding disabled or blacklisted DirectWrite false (6.1.7600.16385) GPU #1 Active Yes Description ATI Mobility Radeon HD 3400 Series Vendor ID 0x1002 Device ID 0x95c4 Driver Version 8.970.100.0 Driver Date 4-24-2013 Drivers aticfx32 aticfx32 atiumdag atidxx32 atiumdva Subsys ID 01381025 RAM 256 Diagnostics ClearType Parameters Gamma: 2200 Pixel Structure: R ClearType Level: 100 Enhanced Contrast: 50 AzureCanvasAccelerated 0 AzureCanvasBackend skia AzureContentBackend cairo AzureFallbackCanvasBackend cairo ClearType Parameters Gamma: 2200 Pixel Structure: R ClearType Level: 100 Enhanced Contrast: 50 Decision Log DIRECT2D unavailable by runtime: Failed to acquire a Direct2D 1.1 factory
Almost like we can't find a function we need in d2d1.dll. Mahks, can you find d2d1.dll in C:\Windows\System32 and in Properties->Details read off the File/Product version? Alternatively, if you have entries in about:crashes, send a link to a top few.
It looks like a few things could cause this: - D2D1CreateFactory is missing in d2d1.dll - D2D1CreateFactory returned null or an error code - The factory did not QI to ID2D1Factory1 (meaning, it's D2D 1.0 or something) We could narrow this down further by passing an error message up to gfxConfig
I'm guessing we don't have the d2d1.dll, and that this is a Direct2D 1.0, but not 1.1 capable system (e.g., Windows 7 without the platform update.) We stopped allowing D2D 1.0 with 44, and when that hits a system that only has 1.0 and not 1.1, they would lose the acceleration.
Reporter | ||
Comment 42•8 years ago
|
||
d2d1.dll Version 6.1.7600.16385 https://crash-stats.mozilla.com/report/index/bp-5fdf8a0b-0962-4407-90a0-2e3422160605 https://crash-stats.mozilla.com/report/index/bp-bdcbbf02-0742-4d75-a491-03bc22160520 https://crash-stats.mozilla.com/report/index/bp-c45e1811-d6fb-491a-a601-00bae2160520
Reporter | ||
Comment 43•8 years ago
|
||
Now have d2d1.dll Version 6.1.7601.17514 Dated 2010.11.20 Is this the correct version? or still 1.0 If not, Do you know which platform update has the correct one? I cannot find any references...
Updated•7 years ago
|
Priority: -- → P3
Comment 44•2 years ago
|
||
The bug assignee is inactive on Bugzilla, so the assignee is being reset.
Assignee: dvander → nobody
Status: ASSIGNED → NEW
Updated•2 years ago
|
Severity: normal → S3
You need to log in
before you can comment on or make changes to this bug.
Description
•