Closed
Bug 1090360
Opened 11 years ago
Closed 2 years ago
Annotate the memory dedicated to the second buffer in component alpha layers in about:memory reports
Categories
(Core :: Graphics: Layers, defect)
Tracking
()
RESOLVED
INVALID
People
(Reporter: nical, Unassigned, Mentored)
References
Details
Attachments
(1 file)
|
12.17 KB,
patch
|
Details | Diff | Splinter Review |
It would be useful to know how much memory goes into component alpha, and if it's worth having logic to disable it when running short on memory.
| Reporter | ||
Comment 1•11 years ago
|
||
Some information about this bug in order to help potential newcomers get started with this.
Firefox has some code that helps with tracking memory consumption, and provide informations in the about:memory page (type about:memory in the url bar and press enter).
The base class that helps with tracking memory is nsIMemoryReporter.
An example of memory reporter is GfxImageReporter here: http://dxr.mozilla.org/mozilla-central/source/gfx/layers/ipc/ISurfaceAllocator.h#196 (useful to look at the implementation and see what methdos need to be overriden)
What we are interested in here is specifically the memory used to allocate the "buffers on white" of the pairs of buffers that are used to do sub-pixel antialiasing in Gecko. I won't go into the details of how sub-pixel aa works, but the important part is that it requires us to render the text on top of a black backround and on top of a white background, and we combine the result of the two as part of the process of drawing sub-pixel aa text. This means that we typically use twice as much texture memory.
The code that manipulates these buffer pairs is in
http://dxr.mozilla.org/mozilla-central/source/gfx/layers/client/ContentClient.cpp
and
http://dxr.mozilla.org/mozilla-central/source/gfx/layers/client/TiledContentClient.cpp
This code is a bit messy but we don't need to understand it fully here. Suffice to know that it is responsible for managing the buffers and getting stuff drawn into them.
The idea for this bug is to implement a memory reporter class that tracks the memory allocated specifically for the textures on white (see mTextureClientOnWhite, mFrontBufferOnWhite, mBackBuffeOnWhite, etc.)
| Reporter | ||
Updated•11 years ago
|
Assignee: nobody → tandiap
Comment 2•11 years ago
|
||
Basic memory usage reporter without the support for tiled layers.
Comment 3•3 years ago
|
||
The bug assignee didn't login in Bugzilla in the last 7 months, so the assignee is being reset.
Assignee: tandiap → nobody
Updated•3 years ago
|
Severity: normal → S3
Comment 4•2 years ago
|
||
Component alpha layers no longer exist
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → INVALID
You need to log in
before you can comment on or make changes to this bug.
Description
•