Closed Bug 1406507 Opened 8 years ago Closed 8 years ago

Eliminate ipdl serialization of display list buffer

Categories

(Core :: Graphics: WebRender, enhancement, P1)

enhancement

Tracking

()

RESOLVED FIXED
Tracking Status
firefox57 --- unaffected
firefox58 --- unaffected

People

(Reporter: jrmuizel, Assigned: jrmuizel)

References

Details

(Whiteboard: [wr-mvp])

Attachments

(1 file)

No description provided.
Whiteboard: [wr-mvp] [triage]
Do we have an anticipated performance improvement goal?
This will just shave some overhead off the client side painting path.
Whiteboard: [wr-mvp] [triage] → [wr-mvp]
Depends on: 1379680
Jeff has patches to do this, assigning to him.
Assignee: nobody → jmuizelaar
Status: NEW → ASSIGNED
Priority: P2 → P1
This eliminates a copy of the displaylist on the compositor thread.
Attachment #8933184 - Flags: review?(bugmail)
The first part of this (https://bug1379680.bmoattachments.org/attachment.cgi?id=8919383) accidentally landed as part of bug 1379680.
Pushed by kgupta@mozilla.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/f0fbf9120a1e Use an ipc::ByteBuf instead of ByteBuffer to send the DisplayList instead of a ByteBuffer. r=kats
(In reply to Jeff Muizelaar [:jrmuizel] from comment #5) > The first part of this > (https://bug1379680.bmoattachments.org/attachment.cgi?id=8919383) > accidentally landed as part of bug 1379680. I did a backout/reland of that code so it shows up correctly in blame.
Keywords: leave-open
(In reply to Pulsebot from comment #6) > Pushed by kgupta@mozilla.com: > https://hg.mozilla.org/integration/mozilla-inbound/rev/f0fbf9120a1e > Use an ipc::ByteBuf instead of ByteBuffer to send the DisplayList instead of > a ByteBuffer. r=kats Also, doesn't this patch make wr::ByteBuffer obsolete? As in, we should remove it from the codebase.
Comment on attachment 8933184 [details] [diff] [review] Move the displaylist ByteBuf into a Vec instead of copying Review of attachment 8933184 [details] [diff] [review]: ----------------------------------------------------------------- r=me with the ByteBuf->VecU8 converter moved to a constructor. ::: gfx/webrender_bindings/WebRenderTypes.h @@ +577,5 @@ > } > > + // It would be nice to have a constructor that > + // accpets a ByteBuf but including "mozilla/ipc/ByteBuf.h" > + // causes a mess of 'base/process_util.h' file not found We should be able to do this if we put the impl of the constructor into a .cpp file and just forward-declare ByteBuf in this header file. I wrote a patch (should work, but still compiling locally), you can see/steal it from https://treeherder.mozilla.org/#/jobs?repo=try&revision=65e2f5b3d15fa99dbcaf7b2927b8e0efa3c49185
Attachment #8933184 - Flags: review?(bugmail) → review+
(In reply to Kartikaya Gupta (email:kats@mozilla.com) from comment #8) > Also, doesn't this patch make wr::ByteBuffer obsolete? As in, we should > remove it from the codebase. Looks like somebody decided to use it in totally unrelated code. I left a comment at https://bugzilla.mozilla.org/show_bug.cgi?id=1351488#c70
(In reply to Kartikaya Gupta (email:kats@mozilla.com) from comment #9) > https://treeherder.mozilla.org/#/ > jobs?repo=try&revision=65e2f5b3d15fa99dbcaf7b2927b8e0efa3c49185 Make sure to add the 'explicit' keyword on the new constructor. I always forget that!
I landed with the wrong bug number. https://hg.mozilla.org/integration/mozilla-inbound/rev/d4a1478b58f0d11d29042b7108971f1347117f2c I'll reland once the tree reopens.
Pushed by jmuizelaar@mozilla.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/bdfdf0fa1889 Move the displaylist ByteBuf into a Vec instead of copying. r=kats
Whiteboard: [wr-mvp] → [wr-reserve]
Status: ASSIGNED → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Whiteboard: [wr-reserve] → [wr-mvp]
Removing leave-open keyword from resolved bugs, per :sylvestre.
Keywords: leave-open
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: