Closed
Bug 668801
Opened 14 years ago
Closed 14 years ago
New shadow drawing logic gives problems
Categories
(Core :: Graphics: Canvas2D, defect)
Tracking
()
RESOLVED
FIXED
mozilla7
People
(Reporter: bas.schouten, Assigned: bas.schouten)
Details
Attachments
(3 files, 2 obsolete files)
|
13.59 KB,
patch
|
Details | Diff | Splinter Review | |
|
1.01 KB,
patch
|
jrmuizel
:
review+
|
Details | Diff | Splinter Review |
|
16.97 KB,
patch
|
jrmuizel
:
review+
|
Details | Diff | Splinter Review |
The new shadow drawing logic where we always draw shadows when shadowColor has a non-zero alpha value is proving problematic.
We end up drawing shadows needlessly a lot where developers have left the shadowColor, but just set the blur to 0 for example. A situation where this happens and significantly affects performance can be found both in the Asteroids benchmark and on Pirateslovedaisies.
We need to backout the patch for bug 656844, and also fix it for Azure.
| Assignee | ||
Comment 2•14 years ago
|
||
Assignee: nobody → bas.schouten
Status: NEW → ASSIGNED
Attachment #543827 -
Flags: review?(jmuizelaar)
| Assignee | ||
Comment 3•14 years ago
|
||
Attachment #543837 -
Flags: review?(jmuizelaar)
| Assignee | ||
Comment 4•14 years ago
|
||
Comment on attachment 543837 [details] [diff] [review]
Part 2: Fix a small surface clearing bug
Uploaded wrongly here.
Attachment #543837 -
Attachment is obsolete: true
Attachment #543837 -
Flags: review?(jmuizelaar)
| Assignee | ||
Comment 5•14 years ago
|
||
Attachment #543866 -
Flags: review?(jmuizelaar)
| Assignee | ||
Comment 6•14 years ago
|
||
This patch adds code to make shadows work correctly with non-operator over and clipping.
Attachment #543867 -
Flags: review?(jmuizelaar)
| Assignee | ||
Comment 7•14 years ago
|
||
Removed compiled shader code from the patch.
Attachment #543867 -
Attachment is obsolete: true
Attachment #543868 -
Flags: review?(jmuizelaar)
Attachment #543867 -
Flags: review?(jmuizelaar)
Comment 8•14 years ago
|
||
Comment on attachment 543868 [details] [diff] [review]
Part 3: Fix clipping to work with non-operator over shadows v2
Review of attachment 543868 [details] [diff] [review]:
-----------------------------------------------------------------
::: gfx/2d/DrawTargetD2D.cpp
@@ +121,5 @@
> if (FAILED(hr)) {
> gfxWarning() << "Failed to create shared bitmap for old surface.";
> }
>
> + mClippedArea = mDT->GetClippedGeometry();
Nice idea.
@@ +610,5 @@
> + } else {
> + mPrivateData->mEffect->GetTechniqueByName("SampleMaskedTexture")->
> + GetPassByIndex(0)->Apply(0);
> + }
> +
How about we reverse the condition here and above. That feels sort of better to me.
Attachment #543868 -
Flags: review?(jmuizelaar) → review+
Comment 9•14 years ago
|
||
http://hg.mozilla.org/mozilla-central/rev/942107e5bca9
http://hg.mozilla.org/mozilla-central/rev/028e71400576
http://hg.mozilla.org/mozilla-central/rev/af10b6844d98
http://hg.mozilla.org/mozilla-central/rev/0ec8b80572a6
http://hg.mozilla.org/mozilla-central/rev/f892e78c8c6d
http://hg.mozilla.org/mozilla-central/rev/f11be63ce31c
Status: ASSIGNED → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla7
Updated•14 years ago
|
Attachment #543866 -
Flags: review?(jmuizelaar) → review+
Updated•14 years ago
|
Attachment #543827 -
Flags: review?(jmuizelaar)
You need to log in
before you can comment on or make changes to this bug.
Description
•