diff --git a/applications/PoP/docs/perf_cyan_phase.md b/applications/PoP/docs/perf_cyan_phase.md index 04b3c25..c99f125 100644 --- a/applications/PoP/docs/perf_cyan_phase.md +++ b/applications/PoP/docs/perf_cyan_phase.md @@ -168,3 +168,5 @@ nx u8, ny u8, резерв u16`), и у всех фоновых лент `nx = n | 2026-08-17 | `pop_blit_b` аргументы в file-scope | — / — / **435 180** | `b2da0b8` | | 2026-08-17 | **композит куска: один блит вместо трёх** | — / — / **273 078** | `b2da0b8` | | 2026-08-17 | точный габарит композита (было 63 при 58) | 20 550 / 192 000 / **270 510 ✔** | `af189a1` | +| 2026-08-17 | замер после фиксов уровня 1 | — / — / **379 482** | `40f0d46` | +| 2026-08-17 | **регресс после фиксов уровня 2** — без изменений | — / — / **379 488 ✔** | `ec1f384` | diff --git a/applications/PoP/docs/perf_green_phase.md b/applications/PoP/docs/perf_green_phase.md index 37e962b..ff58d1f 100644 --- a/applications/PoP/docs/perf_green_phase.md +++ b/applications/PoP/docs/perf_green_phase.md @@ -323,3 +323,5 @@ file-scope, что у `draw_tile`. | 2026-08-17 | **копия второй страницы вместо второй запечки** | — / — / **423 558** | `5ef721e` | | 2026-08-17 | `mob_tick_one` в file-scope; снята оснастка из горячих путей | 35 760 / 326 130 / **414 456** | `18ee60e` | | 2026-08-17 | фикс мерцания: окно клипа в `pop_floor_bake` как условие корректности копии | замер после фикса — ниже | `35b7cd5` | +| 2026-08-17 | замер после фиксов уровня 1 (мерцание торцов, потолочный fore, сосед под плитой, блеск меча) | 35 760 / — / **417 630** | `40f0d46` | +| 2026-08-17 | **регресс после фиксов уровня 2** (чёрные бары, чит бессмертия) — в пределах шума | — / — / **419 526** | `ec1f384` | diff --git a/applications/PoP/docs/perf_l13_room23.md b/applications/PoP/docs/perf_l13_room23.md index 0b3c719..b5f98ed 100644 --- a/applications/PoP/docs/perf_l13_room23.md +++ b/applications/PoP/docs/perf_l13_room23.md @@ -117,9 +117,28 @@ verb'ом **`clog N`** плагина `mamebridge` — а его нет в MCP- | стало | **916 458** | 142 830 | **546 900** | **270 510** | | | −36 % | — | −32 % | −57 % | -Цель — каждая секция ≤ 400 000. **Синяя и циан в бюджете**; зелёная 1,37×, -остаток разобран в [`perf_green_phase.md`](perf_green_phase.md) §3 (нужен -раскол `draw_tile` на узкие части, как в оригинале). +**Регресс после обхода уровней 1-2 (`ec1f384`, 2026-08-17), 418 кадров:** + +| максимум по секции | работа | синяя | зелёная | циан | +|---|---:|---:|---:|---:| +| после оптимизации (`af189a1`) | 916 458 | 142 830 | 546 900 | 270 510 | +| после фиксов ур. 1 (`40f0d46`) | 873 930 | 158 874 | 417 630 | 379 482 | +| **после фиксов ур. 2 (`ec1f384`)** | **878 550** | **158 880** | **419 526** | **379 488** | + +Фиксы второго уровня (чёрные бары, чит бессмертия) на бюджет не повлияли: +разница с предыдущим замером +4 620 работы и +1 896 зелёной — шум прогона. +Скачок циан на фиксах ПЕРВОГО уровня (270 510 → 379 482) объяснён там же: +восстановлены потерянные половины слоёв (`set_redraw2`, ряд −1 foretable), то +есть это плата за корректность, а не регрессия. + +Период кадра по прогону: **3 растра в 392 кадрах, 4 в 24, 5 в одном** — то +есть за бюджет вылезает только сам каскад. + +Цель — каждая секция ≤ 400 000. **Синяя и циан в бюджете**; зелёная 419 526, +то есть 1,05× цели (и ниже растрового кадра 430 000), остаток разобран в +[`perf_green_phase.md`](perf_green_phase.md) §3 (нужен раскол `draw_tile` на +узкие части, как в оригинале) и в идее G8 (сузить инвалидацию соседнего тайла +до 28-пиксельной полосы). Где что расходуется и как это чинить — в фазовых документах: [зелёная](perf_green_phase.md), [циан](perf_cyan_phase.md).