|
cc: Use a ListContainer for DisplayItemList to reduce allocations.
Currently every DisplayItem is malloced/freed individually. Follow the
pattern used for DrawQuads instead, using ListContainer to allocate
log(n) times instead of once for each item. This replaces each
DisplayFooItem::Create(...) with a default constructor and a
DisplayFooItem::SetNew(...) that must be called on newly constructed
items before they are used.
This patch changes the time to do UpdateLayers (after making
gfx::ImageSkiaReps immutable cuz they dominate times for now) for a
single tab loading spinner from .174ms to .167ms on a linux x620,
giving a 4% reduction in frame record time. I used a mean of 3000
samples in each run to reduce noise.
R=ajuma, enne
BUG= 466426
Committed: https://crrev.com/f15802914bd7a8f5ea8c4d7893e9c79450804714
Cr-Commit-Position: refs/heads/master@{#328797}
Total comments: 1
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+386 lines, -187 lines) |
Patch |
 |
M |
cc/BUILD.gn
|
View
|
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
 |
M |
cc/blink/web_display_item_list_impl.cc
|
View
|
|
4 chunks |
+26 lines, -19 lines |
0 comments
|
Download
|
 |
M |
cc/cc.gyp
|
View
|
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
 |
M |
cc/layers/picture_image_layer.cc
|
View
|
|
1 chunk |
+2 lines, -1 line |
0 comments
|
Download
|
 |
M |
cc/layers/picture_image_layer_unittest.cc
|
View
|
|
2 chunks |
+2 lines, -0 lines |
0 comments
|
Download
|
 |
M |
cc/quads/list_container.h
|
View
|
|
2 chunks |
+3 lines, -1 line |
0 comments
|
Download
|
 |
M |
cc/quads/list_container.cc
|
View
|
|
2 chunks |
+2 lines, -0 lines |
0 comments
|
Download
|
 |
M |
cc/resources/clip_display_item.h
|
View
|
|
2 chunks |
+4 lines, -12 lines |
0 comments
|
Download
|
 |
M |
cc/resources/clip_display_item.cc
|
View
|
|
1 chunk |
+7 lines, -3 lines |
0 comments
|
Download
|
 |
M |
cc/resources/clip_path_display_item.h
|
View
|
|
3 chunks |
+3 lines, -8 lines |
0 comments
|
Download
|
 |
M |
cc/resources/clip_path_display_item.cc
|
View
|
|
1 chunk |
+9 lines, -4 lines |
0 comments
|
Download
|
 |
M |
cc/resources/compositing_display_item.h
|
View
|
|
3 chunks |
+6 lines, -11 lines |
0 comments
|
Download
|
 |
M |
cc/resources/compositing_display_item.cc
|
View
|
|
1 chunk |
+13 lines, -10 lines |
0 comments
|
Download
|
 |
M |
cc/resources/display_item_list.h
|
View
|
1
2
|
3 chunks |
+23 lines, -2 lines |
0 comments
|
Download
|
 |
M |
cc/resources/display_item_list.cc
|
View
|
1
2
3
|
9 chunks |
+54 lines, -21 lines |
0 comments
|
Download
|
 |
M |
cc/resources/display_item_list_unittest.cc
|
View
|
|
10 chunks |
+38 lines, -16 lines |
0 comments
|
Download
|
 |
M |
cc/resources/display_list_recording_source.cc
|
View
|
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
 |
M |
cc/resources/drawing_display_item.h
|
View
|
|
2 chunks |
+3 lines, -5 lines |
0 comments
|
Download
|
 |
M |
cc/resources/drawing_display_item.cc
|
View
|
|
2 chunks |
+7 lines, -4 lines |
0 comments
|
Download
|
 |
M |
cc/resources/filter_display_item.h
|
View
|
|
3 chunks |
+3 lines, -7 lines |
0 comments
|
Download
|
 |
M |
cc/resources/filter_display_item.cc
|
View
|
|
1 chunk |
+7 lines, -3 lines |
0 comments
|
Download
|
 |
M |
cc/resources/float_clip_display_item.h
|
View
|
|
3 chunks |
+3 lines, -6 lines |
0 comments
|
Download
|
 |
M |
cc/resources/float_clip_display_item.cc
|
View
|
|
1 chunk |
+5 lines, -2 lines |
0 comments
|
Download
|
 |
A |
cc/resources/largest_display_item.h
|
View
|
1
|
1 chunk |
+17 lines, -0 lines |
0 comments
|
Download
|
 |
A |
cc/resources/largest_display_item.cc
|
View
|
1
|
1 chunk |
+71 lines, -0 lines |
0 comments
|
Download
|
 |
M |
cc/resources/transform_display_item.h
|
View
|
|
3 chunks |
+3 lines, -7 lines |
0 comments
|
Download
|
 |
M |
cc/resources/transform_display_item.cc
|
View
|
|
1 chunk |
+6 lines, -2 lines |
0 comments
|
Download
|
 |
M |
cc/test/fake_content_layer_client.cc
|
View
|
|
3 chunks |
+12 lines, -8 lines |
0 comments
|
Download
|
 |
M |
cc/test/fake_display_list_recording_source.h
|
View
|
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
 |
M |
ui/compositor/clip_transform_recorder.h
|
View
|
|
1 chunk |
+6 lines, -1 line |
0 comments
|
Download
|
 |
M |
ui/compositor/clip_transform_recorder.cc
|
View
|
|
4 chunks |
+26 lines, -13 lines |
0 comments
|
Download
|
 |
M |
ui/compositor/compositing_recorder.cc
|
View
|
|
2 chunks |
+5 lines, -4 lines |
0 comments
|
Download
|
 |
M |
ui/compositor/paint_cache.h
|
View
|
|
2 chunks |
+4 lines, -7 lines |
0 comments
|
Download
|
 |
M |
ui/compositor/paint_cache.cc
|
View
|
|
1 chunk |
+7 lines, -6 lines |
0 comments
|
Download
|
 |
M |
ui/compositor/paint_recorder.cc
|
View
|
|
1 chunk |
+3 lines, -4 lines |
0 comments
|
Download
|
Total messages: 22 (4 generated)
|