Reuse rendered content instead of drawing it again. Set this record as
Emerge.Config.Renderer.cache. Leave the defaults unless profiling suggests
a memory or frame-time problem.
%Emerge.Config{
renderer: %Emerge.Config.Renderer{
cache: %Emerge.Config.RendererCache{enabled: false}
}
}Fields
enabled—:auto(default),trueorfalse. Automatic enables caching for GPU rendering and disables it for an explicitly selected raster API.falsedisables renderer caching, not the image cache underassets.cache.max_new_payloads_per_frame— maximum new paint-cache entries created in one drawn frame; defaults to64. Lower values spread cache creation over more frames.0prevents new entries while allowing existing entries to be reused.paint_layer—Emerge.Config.PaintLayerCache, supplying memory, entry and age limits for reusable painted content.
These settings apply to each renderer separately and require a new viewport to change. They do not set a total application memory limit.
Summary
Types
Explicit cache enable/disable, or backend-dependent automatic selection.
Canonical form after nested keyword records have been expanded.
Typed keyword shorthand accepted in this record's parent field.
Types
@type enabled() :: boolean() | :auto
Explicit cache enable/disable, or backend-dependent automatic selection.
@type normalized_t() :: %Emerge.Config.RendererCache{ enabled: enabled(), max_new_payloads_per_frame: non_neg_integer(), paint_layer: Emerge.Config.PaintLayerCache.normalized_t() }
Canonical form after nested keyword records have been expanded.
@type options() :: [ enabled: enabled(), max_new_payloads_per_frame: non_neg_integer(), paint_layer: Emerge.Config.PaintLayerCache.t() | Emerge.Config.PaintLayerCache.options() ]
Typed keyword shorthand accepted in this record's parent field.
@type t() :: %Emerge.Config.RendererCache{ enabled: enabled(), max_new_payloads_per_frame: non_neg_integer(), paint_layer: Emerge.Config.PaintLayerCache.t() | Emerge.Config.PaintLayerCache.options() }