Closed Bug 1290303 Opened 9 years ago Closed 9 years ago

Categories

(Core :: Graphics: Layers, defect)

defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 1289525

People

(Reporter: gw280, Unassigned)

Details

(Whiteboard: [gfx-noted])

Attachments

(1 file)

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).
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.
Whiteboard: [gfx-noted]
Attached file Display list dump
We're layerising this page really really badly
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
(Tested on OS X 10.11.6 on a mid-2012 15" rMBP)
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).
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.
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.

Attachment

General

Created:
Updated:
Size: