Skip to main content

hash_bands

Function hash_bands 

Source
fn hash_bands(
    bands: &mut Vec<StripeState>,
    pixels: &[u8],
    stride: usize,
    height: usize,
    threshold: u32,
    duration: i32,
) -> Vec<bool>
Expand description

Which bands of DAMAGE_BAND_ROWS rows of a host frame (stride bytes per row, height rows) changed against the frame before, read from a content hash per band (StripeState::content_dirty, one state per band in bands, with its damage blocks). The bands hash in turn on the calling thread: a band takes tens of microseconds, less than waking the rayon pool for it costs, which on a many-core host spent several times the hash in CPU and added milliseconds waiting on the slowest worker.