Closed
Bug 1290303
Opened 9 years ago
Closed 9 years ago
Scrolling https://internals.rust-lang.org/t/summary-of-efficient-inheritance-rfcs/494 results in a lot of tile allocations
Categories
(Core :: Graphics: Layers, defect)
Core
Graphics: Layers
Tracking
()
RESOLVED
DUPLICATE
of bug 1289525
People
(Reporter: gw280, Unassigned)
Details
(Whiteboard: [gfx-noted])
Attachments
(1 file)
|
351.79 KB,
text/plain
|
Details |
Spun off from bug 1279341. Jeff tells me that he's seeing ~130 allocations per second when scrolling this page. Each allocation is 4MB (1024x1024 tiles).
| Reporter | ||
Comment 1•9 years ago
|
||
try run with full TextureClientPool logging: https://treeherder.mozilla.org/#/jobs?repo=try&revision=bd01687ea2d3
| Reporter | ||
Comment 2•9 years ago
|
||
The try run includes a patch that alters the allocation behaviour to grow the pool one at a time instead of pre-allocating in chunks.
Updated•9 years ago
|
Whiteboard: [gfx-noted]
Comment 3•9 years ago
|
||
We're layerising this page really really badly
| Reporter | ||
Comment 4•9 years ago
|
||
With the second patch in bug 1289525, where we shrink after a delay, we don't allocate anywhere near as much when scrolling this page. We still hit double digits though, so the timeout may need some tweaking.
With delayed shrink:
11/sec
100/sec
24/sec
4/sec
43/sec
46/sec
78/sec
50/sec
35/sec
35/sec
64/sec
71/sec
29/sec
81/sec
14/sec
108/sec
47/sec
46/sec
95/sec
24/sec
Without delayed shrink:
10/sec
146/sec
29/sec
74/sec
59/sec
150/sec
77/sec
97/sec
74/sec
48/sec
107/sec
132/sec
109/sec
120/sec
14/sec
87/sec
101/sec
| Reporter | ||
Comment 5•9 years ago
|
||
(Tested on OS X 10.11.6 on a mid-2012 15" rMBP)
| Reporter | ||
Comment 6•9 years ago
|
||
I found why the numbers are so high; the extra calls to SharedMemoryBasic::Create() were coming from ClientSingleTiledLayerBuffer::GetTextureClient().
Tracing on TextureClientPool::AllocateTextureClient(), here are the figures:
no timeout:
0/sec
0/sec
0/sec
55/sec
37/sec
72/sec
0/sec
40/sec
5/sec
0/sec
12/sec
(noticeably stuttery when scrolling).
50ms timeout:
0/sec
0/sec
0/sec
20/sec
24/sec
18/sec
10/sec
0/sec
0/sec
2/sec
2/sec
14/sec
0/sec
6/sec
35/sec
44/sec
(significantly smoother when scrolling).
1000ms timeout:
0/sec
0/sec
0/sec
0/sec
22/sec
12/sec
0/sec
7/sec
38/sec
6/sec
14/sec
7/sec
0/sec
20/sec
0/sec
0/sec
(no real noticeable difference vs 50ms subjectively).
| Reporter | ||
Comment 7•9 years ago
|
||
30ms:
0/sec
0/sec
0/sec
51/sec
21/sec
44/sec
0/sec
20/sec
0/sec
0/sec
37/sec
0/sec
0/sec
0/sec
0/sec
0/sec
22/sec
24/sec
0/sec
0/sec
A little choppier but still better than no timeout.
| Reporter | ||
Updated•9 years ago
|
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → DUPLICATE
You need to log in
before you can comment on or make changes to this bug.
Description
•