pub struct DiffStrategySelector { /* private fields */ }Expand description
Bayesian diff strategy selector.
Maintains a Beta posterior over the change rate and selects the strategy with minimum expected cost each frame.
Implementations§
Source§impl DiffStrategySelector
impl DiffStrategySelector
Sourcepub fn new(config: DiffStrategyConfig) -> DiffStrategySelector
pub fn new(config: DiffStrategyConfig) -> DiffStrategySelector
Create a new selector with the given configuration.
Sourcepub fn with_defaults() -> DiffStrategySelector
pub fn with_defaults() -> DiffStrategySelector
Create a selector with default configuration.
Sourcepub fn config(&self) -> &DiffStrategyConfig
pub fn config(&self) -> &DiffStrategyConfig
Get the current configuration.
Sourcepub fn posterior_params(&self) -> (f64, f64)
pub fn posterior_params(&self) -> (f64, f64)
Get the current posterior parameters.
Sourcepub fn posterior_mean(&self) -> f64
pub fn posterior_mean(&self) -> f64
Get the posterior mean E[p].
Sourcepub fn posterior_variance(&self) -> f64
pub fn posterior_variance(&self) -> f64
Get the posterior variance Var[p].
Sourcepub fn last_evidence(&self) -> Option<&StrategyEvidence>
pub fn last_evidence(&self) -> Option<&StrategyEvidence>
Get the last decision evidence.
Sourcepub fn frame_count(&self) -> u64
pub fn frame_count(&self) -> u64
Get frame count.
Sourcepub fn override_last_strategy(
&mut self,
strategy: DiffStrategy,
reason: &'static str,
)
pub fn override_last_strategy( &mut self, strategy: DiffStrategy, reason: &'static str, )
Override the last decision’s selected strategy and guard reason.
Used when higher-level feature flags or probes force a different strategy than the Bayesian selector chose.
Sourcepub fn select_with_scan_estimate(
&mut self,
width: u16,
height: u16,
dirty_rows: usize,
dirty_scan_cells: usize,
) -> DiffStrategy
pub fn select_with_scan_estimate( &mut self, width: u16, height: u16, dirty_rows: usize, dirty_scan_cells: usize, ) -> DiffStrategy
Select the optimal strategy using a scan-cell estimate for DirtyRows.
dirty_scan_cells should approximate the number of cells scanned when
using DirtyRows (e.g., dirty-span coverage). If unknown, pass
dirty_rows × width.
Trait Implementations§
Source§impl Clone for DiffStrategySelector
impl Clone for DiffStrategySelector
Source§fn clone(&self) -> DiffStrategySelector
fn clone(&self) -> DiffStrategySelector
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more