Closed
Bug 963076
Opened 11 years ago
Closed 11 years ago
Create a tile pool for tiled layers
Categories
(Core :: Graphics: Layers, defect)
Tracking
()
RESOLVED
FIXED
mozilla30
People
(Reporter: cwiiis, Assigned: bas.schouten)
References
Details
The cost of allocation and deallocation during the display and interaction with an average page is higher than it needs to be when using the tiled layers backend. When a tiled layer buffer changes in size, tiles are discarded and immediately deallocated, and similarly, they are created on-demand. This showed up as a considerably performance hit when using shared memory on Android as opposed to local heap allocated memory (see bug 747811 comment #24).
We could mitigate the cost of allocating and deallocating tiles per transaction by keeping a pool of tiles on the layer manager and only deallocating after either a transaction ends, a threshold is reached, or both.
This will become especially important with gralloc-backed tiles, as the cost of gralloc'ing is usually a lot higher than either standard memory allocation or shm.
Comment 1•11 years ago
|
||
Make sure you hook up the OOM hook. Otherwise sounds good.
Reporter | ||
Updated•11 years ago
|
Assignee: nobody → chrislord.net
Status: NEW → ASSIGNED
Comment 2•11 years ago
|
||
It would be nice-to-have if once we run out of pooled texture we can batch the allocations in a single IPC call. This would make a miss in this cache much cheaper.
Reporter | ||
Comment 3•11 years ago
|
||
Assignee: chrislord.net → bas
Status: ASSIGNED → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Updated•11 years ago
|
Target Milestone: --- → mozilla30
You need to log in
before you can comment on or make changes to this bug.
Description
•