Memory and age limits for reusable painted content. Set this record as
Emerge.Config.RendererCache.paint_layer. These are advanced tuning settings,
separate from decoded image budgets in Emerge.Config.AssetCache.
%Emerge.Config{
renderer: %Emerge.Config.Renderer{
cache: %Emerge.Config.RendererCache{
paint_layer: %Emerge.Config.PaintLayerCache{max_bytes: 64 * 1024 * 1024}
}
}
}Fields
max_entries— maximum retained paint entries; defaults to512.0prevents new paint entries from being stored.max_bytes— total retained paint storage budget, in bytes; defaults to671_088_640(640 MiB).max_entry_bytes— largest single entry eligible for storage, in bytes; defaults to268_435_456(256 MiB). Larger content still draws without caching.min_visible_before_store— minimum visible-frame count before content is eligible for storage; defaults to1. The renderer may require a longer observation period for some content.max_stale_frames— number of drawn frames an unseen entry may remain cached; defaults to120. This is a frame count, not milliseconds.
Values are non-negative integers. Budgets describe retained cache storage, not total process/GPU memory or temporary drawing allocations. All fields require a new viewport to change.
Summary
Types
Canonical form after nested keyword records have been expanded.
Typed keyword shorthand accepted in this record's parent field.
Types
@type normalized_t() :: t()
Canonical form after nested keyword records have been expanded.
@type options() :: [ max_entries: non_neg_integer(), max_bytes: non_neg_integer(), max_entry_bytes: non_neg_integer(), min_visible_before_store: non_neg_integer(), max_stale_frames: non_neg_integer() ]
Typed keyword shorthand accepted in this record's parent field.
@type t() :: %Emerge.Config.PaintLayerCache{ max_bytes: non_neg_integer(), max_entries: non_neg_integer(), max_entry_bytes: non_neg_integer(), max_stale_frames: non_neg_integer(), min_visible_before_store: non_neg_integer() }