DescriptionIPC pickling optimizations for geometry types.
Pass gfx::Transform, gfx::Size(F), gfx::Rect(F) and gfx::Vector2d(F) with a
single Write call to the pickler.
content_perftests results on a release official build:
BEFORE
*RESULT mean_frame_serialization_time: DelegatedFrame_ManyQuads_1_4000= 47 us
*RESULT mean_frame_serialization_time: DelegatedFrame_ManyQuads_1_100000= 1808 us
*RESULT mean_frame_serialization_time: DelegatedFrame_ManyQuads_4000_4000= 1896 us
*RESULT mean_frame_serialization_time: DelegatedFrame_ManyQuads_100000_100000= 59606 us
*RESULT mean_frame_serialization_time: DelegatedFrame_ManyRenderPasses_10000_100= 60336 us
AFTER
*RESULT mean_frame_serialization_time: DelegatedFrame_ManyQuads_1_4000= 50 us
*RESULT mean_frame_serialization_time: DelegatedFrame_ManyQuads_1_100000= 1888 us
*RESULT mean_frame_serialization_time: DelegatedFrame_ManyQuads_4000_4000= 728 us
*RESULT mean_frame_serialization_time: DelegatedFrame_ManyQuads_100000_100000= 23771 us
*RESULT mean_frame_serialization_time: DelegatedFrame_ManyRenderPasses_10000_100= 24118 us
This gives about a 2-3x improvement in time to serialize shared quad states and
render passes.
R=piman
BUG=307480
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=230823
Patch Set 1 #Patch Set 2 : ccmessagesperf-geom: #
Total comments: 2
Patch Set 3 : ccmessagesperf-geom: fixtypos #
Total comments: 1
Patch Set 4 : ccmessagesperf-geom: allownegativevectorsstill #Patch Set 5 : ccmessagesperf-geom: maintain check on Rect size from before #
Messages
Total messages: 9 (0 generated)
|