Enable DRS targeting the given refresh rate in Hz. Snaps the internal index to whichever rung is closest to the renderer's current `render_scale` so the first step doesn't overshoot.
(&mut self, target_hz: f32, current_scale: f32)
| 61 | /// internal index to whichever rung is closest to the renderer's |
| 62 | /// current `render_scale` so the first step doesn't overshoot. |
| 63 | pub fn enable(&mut self, target_hz: f32, current_scale: f32) { |
| 64 | self.enabled = true; |
| 65 | self.target_frame_ms = 1000.0 / target_hz.max(1.0); |
| 66 | self.ema_ms = 0.0; |
| 67 | self.frames_since_step = 0; |
| 68 | self.idx = closest_step_idx(current_scale); |
| 69 | } |
| 70 | |
| 71 | pub fn disable(&mut self) { |
| 72 | self.enabled = false; |