Aggregate text outline, bitmap, path-copy, and cache-storage budget for one renderer frame.
More...
|
|
| RendererTextMaterializationBudget () |
| | Creates a text budget with the default glyph cap and aggregate limits.
|
| | RendererTextMaterializationBudget (const Cost &limits) |
| | Creates a budget with explicit limits.
|
|
void | reset () |
| | Clears per-frame text costs and the sticky rejection state.
|
|
std::size_t | remainingDecorationWork () const |
| | Decoration geometry work still available in this frame. Exhausting it drops later decorations without rejecting the frame's text.
|
|
void | consumeDecorationWork (std::size_t work) |
| | Charges decoration geometry work a text draw consumed, saturating at the frame limit.
|
|
void | setDecorationWorkLimitForTesting (std::size_t maximum) |
| | Tightens the decoration work cap for a test without raising it.
|
|
bool | reserve (const Cost &cost) |
| | Charges bounded text work and storage, or latches rejection when a limit is exceeded.
|
|
void | reject () |
| | Latches rejection after an external text-materialization failure.
|
|
bool | reserveGlyphOccurrences (std::size_t count) |
| | Reserves drawn glyph occurrences independently of distinct outlines.
|
|
bool | reservePathCopy (const Path &path) |
| | Charges a copied path and its retained bytes to the aggregate budget.
|
|
void | setLimitsForTesting (Cost limits) |
| | Tightens aggregate test limits without raising existing capacities.
|
|
void | setGlyphOccurrenceLimitForTesting (std::size_t maximum) |
| | Tightens the glyph-occurrence cap for a test without raising it.
|
| void | setMaximumGlyphs (std::size_t maximumGlyphs) |
| | Sets the glyph cap, replacing any lower limit a test installed.
|
|
std::size_t | maximumGlyphs () const |
| | The glyph cap set by setMaximumGlyphs.
|
|
const Cost & | limits () const |
| | Active per-frame text-materialization limits.
|
|
std::size_t | uniqueOutlines () const |
| | Unique glyph resources charged in this frame, including bitmap glyphs.
|
|
std::size_t | commands () const |
| | Charged path-command bounds in this frame.
|
|
std::size_t | points () const |
| | Charged path-point bounds in this frame.
|
|
std::uint64_t | bytes () const |
| | Charged text materialization and storage bytes in this frame.
|
|
std::size_t | decodeWork () const |
| | Charged outline-decode work bound in this frame.
|
|
std::size_t | glyphOccurrences () const |
| | Drawn glyph occurrences charged in this frame.
|
|
bool | rejected () const |
| | Whether a materialization charge or external operation failed.
|
|
|
static constexpr std::size_t | kDefaultMaximumGlyphs = 64 * 1024 |
| | Default cap on glyph occurrences and unique glyph resources admitted per frame.
|
|
static constexpr std::size_t | kMaximumCommands = 16 * 1024 * 1024 |
| | Default cap on charged path-command bounds per frame.
|
|
static constexpr std::size_t | kMaximumPoints = 32 * 1024 * 1024 |
| | Default cap on charged path-point bounds per frame.
|
|
static constexpr std::uint64_t | kMaximumBytes = 256ULL * 1024 * 1024 |
| | Default cap on charged text storage and materialization bytes per frame.
|
|
static constexpr std::size_t | kMaximumDecodeWork = 64 * 1024 * 1024 |
| | Default cap on charged outline-decode work per frame.
|
|
static constexpr std::size_t | kMaximumDecorationWork = 4 * 1024 * 1024 |
| | Default cap on text-decoration geometry work per frame, shared by every text draw so many decorated elements cannot each spend a full per-draw allowance.
|
Aggregate text outline, bitmap, path-copy, and cache-storage budget for one renderer frame.