Emerge.Config.PaintLayerCache (Emerge v0.5.1)

Copy Markdown View Source

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 to 512. 0 prevents new paint entries from being stored.
  • max_bytes — total retained paint storage budget, in bytes; defaults to 671_088_640 (640 MiB).
  • max_entry_bytes — largest single entry eligible for storage, in bytes; defaults to 268_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 to 1. 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 to 120. 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.

t()

Types

normalized_t()

@type normalized_t() :: t()

Canonical form after nested keyword records have been expanded.

options()

@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.

t()

@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()
}