mirror of
https://github.com/4gray/iptvnator.git
synced 2026-10-15 05:36:17 -08:00
perf(epg): render only the timeline programmes near the visible range (J3)
Selecting a live channel rendered every programme block of its schedule (about 240 for the Xtream mock) while the stream was starting: about 6,000 of J3's 6,199 renderer.domMutationsToPlaying. The ribbon now renders the blocks, ticks and day dividers within half a viewport of the visible range; the track keeps the full schedule's width, so positions, the scrollbar and scroll-to-now are unchanged. A resize reported before the scroll-to-now must not re-centre the window (it once jumped to the schedule's start and back); resizes only widen it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
e8b181fcea
commit
67e0133f12
8 files changed
+702
-20
No files matched your search
@@ -370,6 +370,15 @@ remain local when the meaning is explicit.
|
||||
layouts keep the full EPG-only panel.
|
||||
- Keep the EPG content mounted while collapsed so current-program state can
|
||||
continue updating.
|
||||
- The ribbon renders only the blocks, ticks and day dividers within half a
|
||||
viewport of the visible range (`TimelineWindowController` in
|
||||
`epg-timeline-window.controller.ts`); the track keeps the full schedule's
|
||||
width, so positions, the scrollbar and scroll-to-now are unchanged. A
|
||||
channel's full schedule is often a few hundred programmes, and rendering
|
||||
them all competed with the stream's first frame (J3 in
|
||||
[performance journeys](performance-journeys.md#j3-playback-start-playback-to-the-first-frame)).
|
||||
Tests and features must not assume an off-screen programme is in the DOM:
|
||||
scroll the ribbon to it first.
|
||||
|
||||
### Collapsible Live Sidebar
|
||||
|
||||
|
||||
Reference in new issue
Block a user