Skip to content

Commit f9e5aae

Browse files
committed
eh for now let's make the problem clear
1 parent 67d41fd commit f9e5aae

1 file changed

Lines changed: 1 addition & 21 deletions

File tree

frontends/rioterm/src/renderer/trail_cursor.rs

Lines changed: 1 addition & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -415,28 +415,8 @@ impl TrailCursor {
415415
}
416416

417417
/// `true` while the spring corners haven't settled *visibly*.
418-
///
419-
/// TODO: neovide deviation. Their equivalent returns true while
420-
/// any spring `|position| >= 0.01` (the internal `Spring::update`
421-
/// reset tolerance). We raise that to 0.5 px so the outer render
422-
/// loop exits ~15-25 frames sooner per animation — without this,
423-
/// rio keeps re-posting `needs_redraw()` / `set_dirty()`
424-
/// every vsync for the full spring tail, which starves the
425-
/// compositor drawable pool and causes `next_drawable` to block
426-
/// ~4 ms per frame on macOS. Neovide doesn't hit this because
427-
/// Skia renders through a different present path.
428-
///
429-
/// Proper fix is to not force full-screen redraws just because
430-
/// the trail quad shifted sub-pixel — either trail-only damage
431-
/// or a dedicated overlay layer. Once that's in, revert this to
432-
/// plain `self.animating` to match neovide exactly.
433418
#[inline]
434419
pub fn is_animating(&self) -> bool {
435-
if !self.animating {
436-
return false;
437-
}
438-
self.corners
439-
.iter()
440-
.any(|c| c.spring_x.position.abs() >= 0.5 || c.spring_y.position.abs() >= 0.5)
420+
!self.animating
441421
}
442422
}

0 commit comments

Comments
 (0)