mirror of
https://github.com/PR0M3TH3AN/bitvid.git
synced 2026-10-27 07:52:24 +00:00
1.4 KiB
1.4 KiB
Daily Perf Report - 2026-02-13
Summary
Implemented visibility gating for VideoEventBuffer to prevent UI thrashing when the tab is hidden. Audited upload documentation against implementation.
P0/P1 Findings
- P1 - VideoEventBuffer Thrashing: The
VideoEventBufferwas flushing events and triggering UI callbacks every 75ms regardless of visibility. This wasted CPU on layout/paint recalculations for hidden tabs.- Fix: Modified
flush()to buffer updates whendocument.hiddenis true, and flush them in a batch uponvisibilitychange.
- Fix: Modified
- P2 - Upload Limits: Documentation states a 2GB limit due to client-side hashing. Verification confirmed
js/utils/torrentHash.jsreads the file for hashing, which is memory-bound in browsers. Docs are accurate.
Metrics
- Login Time: (Not measured this run)
- Queue Sizes: (Not measured this run)
PRs / Changes
- VideoEventBuffer: Added visibility gating.
Blockers & Decisions
- Decision: Prioritized
VideoEventBufferfix overWatchHistorybackoff as it affects the main feed loop directly. - Decision: Accepted the 2GB upload limit documentation as accurate for the current architecture.
Next Steps
- Investigate
WatchHistoryrepublish loop for similar visibility gating. - Consider using streaming hashing (e.g.,
crypto.subtle) to lift the 2GB limit in the future.