perf: add periodicity checking
This commit is contained in:
@@ -113,6 +113,13 @@ pixel is a handful of `f32` complex multiplies.
|
||||
use, and `tests/shader_valid.rs` compiles every kind × Julia × DE variant to
|
||||
SPIR-V. So a new kind needs no pipeline-list change, only its `KIND_*`
|
||||
constant. `buddhabrot.wgsl` does the same with its own `override KIND`.
|
||||
Interior pixels exit early through **periodicity detection**. It uses
|
||||
Brent-style checkpoints plus two guards: the cycle's multiplier must be
|
||||
clearly attracting (`PERIOD_MAX_MULT2`), and the contracting return must
|
||||
repeat in `PERIOD_CONFIRMATIONS` consecutive windows. Both guards are
|
||||
needed: without them, exterior pixels at cusps and minibrot edges turned
|
||||
black. Retune them only against f64 ground truth on such views. Phoenix is
|
||||
excluded (two-term map).
|
||||
`advance_delta(z, e)` is the per-kind delta step (`z` = reference point,
|
||||
`e` = current delta); the caller adds `step_add` (= `dc`) afterward — this
|
||||
relies on `c` being additive in every current kind's formula (a kind where
|
||||
|
||||
Reference in New Issue
Block a user