# Phase 5e — Load test: 16 источников 4K @ 25fps Дата: 2026-06-03 Хост: R9-88.23 (RTX 5090). ## Сценарий Композитор настроен на 16 ячеек в 4×4 grid на 4K output (3840×2160 @ 25fps, 15 Mbps). Каждая ячейка 960×540. Источники — 4 реальные камеры повторяются 4 раза каждая (cam-parking, cam-back_yard, cam-front_yard, cam-gate_lpr → 16 cfc_source_t-подписок к 4 уникальным publisher'ам). Цель — узнать практический потолок RTX 5090 для composer + NVENC при максимальной композиционной нагрузке. ## Результат — главное ``` Длительность теста: 46+ секунд FPS: 25.0 СТАБИЛЬНО (1150 кадров, 0 drops, 0 stale, 0 dead) GPU util: 47% NVENC sessions: 2 (наш + cuda-grid-pipeline) VRAM total system: 24.6 GiB (composer + Frigate + pipeline) RTSP: h264 3840x2160 25/1 ``` **RTX 5090 имеет значительный запас** — 47% util означает что можно тянуть ~2× больше композиционной нагрузки (32 cells × 540p или 16 cells × 1080p без resize). ## Visual artifact ⚠ Snapshot `phase5e-load16.jpg` показывает: первый row 4 ячеек корректно (parking, back_yard, front_yard, gate_lpr), но rows 2-4 — вертикальные полосы (stripe artefact). Гипотеза — race condition: 4 cfc_source_t повторно подписываются на одного publisher'а, в сумме 16 consumers на ring buffer'е размером 16 → tight fit, slot rotation не успевает очищать буферы. **FPS-метрики не пострадали** — encoder обрабатывает поврежденные ячейки штатно, поток валиден для VLC, но визуально часть ячеек испорчена. Этот бag НЕ блокер для load test'а (главная цель — узнать FPS-потолок), но Phase 5e-fix нужен для production deploy с повторными подписками. Решения: 1. Composer detect'ит идентичные source_key и переиспользует cfc_source_t (один subscriber → N cells). Это устранит multi-consumer race. 2. Либо увеличить ring buffer cuframes до 32 (если producer поддерживает). ## Сравнение с разбором GTX 1050 | Метрика | RTX 5090 16-source | GTX 1050 16-source (расчёт) | |---|---|---| | NVDEC throughput | 4 уникальных decode, OK | 4 unique → ~110 Mpix/s OK | | Composition (16 resize) | 47% GPU util | Пропорция bandwidth ~80% | | NVENC 4K@25 | 207 Mpix/s, ОК | 207 Mpix/s, на грани | | VRAM | хватает | впритык на 4GB | На 1050 16 ячеек 4K теоретически возможно, но без запаса. Реалистичный prod-target на 1050 = 8-12 ячеек 1080p, как и оценивалось ранее.