Closed Bug 990338 Opened 10 years ago Closed 10 years ago

Use Moz2D for updating CanvasClient

Categories

(Core :: Graphics: Layers, defect)

x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla31

People

(Reporter: mattwoodrow, Assigned: mattwoodrow)

References

Details

(Keywords: perf, regression, Whiteboard: [talos_regression])

Attachments

(5 files)

      No description provided.
Assignee: nobody → matt.woodrow
Depends on: 989858, 988771
This will bring back the performance regression from last time we tried this, the following patches clean everything up and fix it.
Attachment #8399753 - Flags: review?(nical.bugzilla)
This removes a bunch of dead code and simplifies more.

And important change is UpdateTarget previously was calling PaintWithOpacity which applied the mask layer (incorrectly), the Y-flip, and maybe some opacity and an operator (but we never passed values that used this functionality).

This patches no longer does this, since these are all things that should happen in the layers system, and not things we need to do to the texture client's data.
Attachment #8399755 - Flags: review?(nical.bugzilla)
This is dead code now.
Attachment #8399757 - Flags: review?(nical.bugzilla)
This fixes a regression with BasicCompositor with the earlier patch. Since we longer do the Y-flip when copying to the TextureClient we need to instead set it as a texture flag.
Attachment #8399758 - Flags: review?(nical.bugzilla)
FillRect/DrawSurface with OPERATOR_SOURCE is slow because it usually creates a temporary surface to emulate unboundedness. Using CopySurface instead fixes the performance issue.

We can also fix our Moz2D backends to be smarter here, I'll probably do that as well in another bug.
Attachment #8399761 - Flags: review?(nical.bugzilla)
Attachment #8399753 - Flags: review?(nical.bugzilla) → review+
Comment on attachment 8399755 [details] [diff] [review]
Clean up CopyableCanvasLayer

Review of attachment 8399755 [details] [diff] [review]:
-----------------------------------------------------------------

sweet
Attachment #8399755 - Flags: review?(nical.bugzilla) → review+
Attachment #8399757 - Flags: review?(nical.bugzilla) → review+
Attachment #8399758 - Flags: review?(nical.bugzilla) → review+
Attachment #8399761 - Flags: review?(nical.bugzilla) → review+
This may have caused a small MozAfterPaint talos regression on Ubuntu, per thread here:
  https://groups.google.com/d/msg/mozilla.dev.tree-management/7UA_3MOPU9I/ED1Q2bzCn98J
The following changesets are now in Firefox Nightly:

> e915878751ba Bug 990338 - Use Moz2D for updating CanvasClient. r=nical
> f19aba4974b8 Bug 990338 - Clean up CopyableCanvasLayer. r=nical
> 80b89d34acbb Bug 990338 - Remove FillWithMask since it's dead code. r=nical
> cd723ed732e3 Bug 990338 - Pass CanvasLayer Y-flip flag through layers. r=nical
> d1f8ac35bdd4 Bug 990338 - Use CopySurface when copying data to a TextureClient for better performance. r=nical

Nightly Build Information:

        ID: 20140402030201
 Changeset: 4941a2ac0786109b08856738019b016a6c5a66a6
   Version: 31.0a1
      TBPL: https://tbpl.mozilla.org/?rev=4941a2ac0786
       URL: https://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/2014/04/2014-04-02-03-02-01-mozilla-central

Download Links:

>         Linux x86: https://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/2014/04/2014-04-02-03-02-01-mozilla-central/firefox-31.0a1.en-US.linux-i686.tar.bz2
>      Linux x86_64: https://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/2014/04/2014-04-02-03-02-01-mozilla-central/firefox-31.0a1.en-US.linux-x86_64.tar.bz2
> Linux x86_64 ASAN: https://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/2014/04/2014-04-02-03-02-01-mozilla-central/firefox-31.0a1.en-US.linux-x86_64-asan.tar.bz2
>               Mac: https://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/2014/04/2014-04-02-03-02-01-mozilla-central/firefox-31.0a1.en-US.mac.dmg
>             Win32: https://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/2014/04/2014-04-02-03-02-01-mozilla-central/firefox-31.0a1.en-US.win32.installer.exe
>             Win64: https://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/2014/04/2014-04-02-03-02-01-mozilla-central/firefox-31.0a1.en-US.win64-x86_64.installer.exe

Previous Nightly Build Information:

        ID: 20140401030203
 Changeset: 1417d180a1d8665b1a91b897d1cc4cc31e7980d4
   Version: 31.0a1
      TBPL: https://tbpl.mozilla.org/?rev=1417d180a1d8
       URL: https://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/2014/04/2014-04-01-03-02-03-mozilla-central
Hi Matt,

Are we expecting a 5% hit on osx 10.6 for this?  Is that well understood?  I am fine closing this as resolved as long we folks are aware of it.
Status: RESOLVED → REOPENED
Flags: needinfo?(matt.woodrow)
Resolution: FIXED → ---
It wasn't expected, but we've filed bug 990854 to fix it.
Status: REOPENED → RESOLVED
Closed: 10 years ago10 years ago
Depends on: 990854
Flags: needinfo?(matt.woodrow)
Resolution: --- → FIXED
Depends on: 995745
Depends on: 995947
Depends on: 1003624
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: