refactor(settings): simplify GC aggressiveness to Off/Light only

Remove Moderate, Heavy, and Extreme GC aggressiveness levels, keeping only Off and Light options for simpler configuration.

- Light mode now uses 75%/90% VRAM thresholds

- Simplified switch statements in texture/buffer cache

- Updated UI dropdowns for desktop and Android

- Light is now the default and recommended setting
This commit is contained in:
Zephyron
2026-01-30 17:55:43 +10:00
parent 4229eaa8fd
commit 1543418260
7 changed files with 12 additions and 88 deletions

View File

@@ -520,9 +520,9 @@ struct Values {
// GC aggressiveness level for texture/buffer cache eviction
SwitchableSetting<GCAggressiveness, true> gc_aggressiveness{linkage,
GCAggressiveness::Moderate,
GCAggressiveness::Light,
GCAggressiveness::Off,
GCAggressiveness::Extreme,
GCAggressiveness::Light,
"gc_aggressiveness",
Category::RendererAdvanced,
Specialization::Default,

View File

@@ -878,11 +878,8 @@ inline u32 EnumMetadata<ExtendedDynamicState>::Index() {
// FIXED: VRAM leak prevention - GC aggressiveness levels
enum class GCAggressiveness : u32 {
Off = 0, // Disable automatic GC (not recommended)
Light = 1, // Light GC - only evict very old textures
Moderate = 2, // Moderate GC - balanced eviction (default)
Heavy = 3, // Heavy GC - aggressive eviction for low VRAM systems
Extreme = 4, // Extreme GC - maximum eviction for 4GB VRAM systems
Off = 0, // Disable automatic GC (not recommended)
Light = 1, // Light GC - gentle eviction of old textures/buffers
};
template <>
@@ -891,9 +888,6 @@ EnumMetadata<GCAggressiveness>::Canonicalizations() {
return {
{"Off", GCAggressiveness::Off},
{"Light", GCAggressiveness::Light},
{"Moderate", GCAggressiveness::Moderate},
{"Heavy", GCAggressiveness::Heavy},
{"Extreme", GCAggressiveness::Extreme},
};
}