Unravel Engine C++ Reference
Loading...
Searching...
No Matches
unravel::eviction_settings Struct Reference

#include <eviction_settings.h>

Public Attributes

bool enabled = true
 Master toggle: when true the per-frame driver evicts to keep usage under the budget.
 
bool auto_budget = true
 
float budget_fraction = 0.85f
 Start evicting once GPU usage exceeds this fraction of the reported maximum.
 
float target_fraction = 0.75f
 Evict down to this fraction of the reported maximum (hysteresis; should be < budget).
 
int manual_budget_mb = 1024
 Manual budget (MiB) compared against the evictable resident bytes when not using auto budget.
 
int strategy = 0
 Selected gfx::eviction::strategy (index).
 
int min_age_frames = 60
 Resources used within this many frames are protected from eviction.
 
int max_evictions = 64
 Maximum resources evicted per frame (0 = unlimited).
 

Friends

auto operator== (const eviction_settings &lhs, const eviction_settings &rhs) -> bool=default
 

Detailed Description

Engine-side policy for the GPU eviction/paging system. Owned by renderer and driven once per frame from renderer::frame_end, so paging works in standalone builds without any editor involvement. The editor surfaces the same struct for inspection/tuning.

Definition at line 10 of file eviction_settings.h.

Friends And Related Symbol Documentation

◆ operator==

auto operator== ( const eviction_settings & lhs,
const eviction_settings & rhs ) -> bool=default
friend

Member Data Documentation

◆ auto_budget

bool unravel::eviction_settings::auto_budget = true

Derive the budget from the bgfx GPU memory stats. Falls back to manual_budget_mb when the backend does not report a GPU memory budget (gpuMemoryMax == 0).

Definition at line 16 of file eviction_settings.h.

◆ budget_fraction

float unravel::eviction_settings::budget_fraction = 0.85f

Start evicting once GPU usage exceeds this fraction of the reported maximum.

Definition at line 18 of file eviction_settings.h.

◆ enabled

bool unravel::eviction_settings::enabled = true

Master toggle: when true the per-frame driver evicts to keep usage under the budget.

Definition at line 13 of file eviction_settings.h.

◆ manual_budget_mb

int unravel::eviction_settings::manual_budget_mb = 1024

Manual budget (MiB) compared against the evictable resident bytes when not using auto budget.

Definition at line 22 of file eviction_settings.h.

◆ max_evictions

int unravel::eviction_settings::max_evictions = 64

Maximum resources evicted per frame (0 = unlimited).

Definition at line 28 of file eviction_settings.h.

◆ min_age_frames

int unravel::eviction_settings::min_age_frames = 60

Resources used within this many frames are protected from eviction.

Definition at line 26 of file eviction_settings.h.

◆ strategy

int unravel::eviction_settings::strategy = 0

Selected gfx::eviction::strategy (index).

Definition at line 24 of file eviction_settings.h.

◆ target_fraction

float unravel::eviction_settings::target_fraction = 0.75f

Evict down to this fraction of the reported maximum (hysteresis; should be < budget).

Definition at line 20 of file eviction_settings.h.


The documentation for this struct was generated from the following file: