Разбор P14: он сводится к P4 (цене блита)
Fore-проход Кида в тяжёлой позиции (89 268) разложен зондами: вход + set_clip + char_footprint 10 872 арифметика границ окна 3 786 шов ворот + overlay-цикл 3 294 ЦИКЛ fore_tile ПО ТАЙЛАМ 67 854 76 % gate_over_char + хвост 3 462 Счётчик показал, что цикл обходит ВСЕГО 4 тайла, и 3 из них реально рисуют. То есть 67 854 — не перебор лишних тайлов и не проверки, а цена самих блитов переднего слоя: около четырёх блитов по ~16 000, где 6 765 на каждом — фиксированная накладная. Значит отдельной оптимизации fore-прохода почти нет: срезать можно цену блита (P4, ~27 000 из 67 854), char_footprint из физики (P10) и слияние двух трамплинов в банк 2 (~4 000). P4 поднят в очереди: он бьёт и по fore-проходу (4 блита), и по зелёной фазе (8 блитов) — то есть работает и в динамике, и в статике. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -270,6 +270,34 @@
|
||||
игровая («когда Кид — труп, игры нет»), но именно она показала верхнюю
|
||||
границу цены.
|
||||
|
||||
**РАЗБОР 2026-08-19: P14 сводится к P4.** Fore-проход Кида в тяжёлой
|
||||
позиции (89 268) разложен зондами:
|
||||
|
||||
| участок | такты |
|
||||
|---|---:|
|
||||
| вход + `pop_fore_set_clip` + `char_footprint` | 10 872 |
|
||||
| арифметика границ окна | 3 786 |
|
||||
| шов ворот + overlay-цикл | 3 294 |
|
||||
| **цикл `fore_tile` по тайлам** | **67 854** (76 %) |
|
||||
| `pop_gate_over_char` + хвост | 3 462 |
|
||||
|
||||
А счётчик показал, что цикл обходит **всего 4 тайла**, и 3 из них реально
|
||||
рисуют (`FORE_ANY != 0`). То есть 67 854 — это НЕ перебор лишних тайлов
|
||||
(их четыре) и не проверки, а **цена самих блитов переднего слоя**: около
|
||||
четырёх блитов по ~16 000, из которых 6 765 на каждом — фиксированная
|
||||
накладная (см. §1).
|
||||
|
||||
**Отсюда вывод для плана:** отдельной «оптимизации fore-прохода» почти нет.
|
||||
Срезать там можно ровно три вещи, и только первая крупная:
|
||||
|
||||
1. **цену блита (P4)** — 4 блита × 6 765 накладных = ~27 000 из 67 854;
|
||||
2. `char_footprint` из физики (**P10**) — часть от 10 872;
|
||||
3. слияние двух трамплинов в банк 2 — ~4 000.
|
||||
|
||||
Иначе говоря, **P4 ускоряет и зелёную фазу (8 блитов), и fore-проход
|
||||
(4 блита), то есть работает и в статике, и в динамике** — в отличие от
|
||||
P14, который я считал самостоятельной позицией.
|
||||
|
||||
`pop_char_fore` = два трамплина в банк 2 (`pop_fore_set_clip` +
|
||||
`pop_fore_over_char`) плюс обход тайлов футпринта, в каждом `fore_tile`.
|
||||
У Кида дороже, чем у стража, потому что в его футпринте лежит чомпер, а у
|
||||
@@ -479,8 +507,8 @@ BUG-LATTICE-DOORTOP, BUG-SEAM-WEDGE-1) — только отдельным за
|
||||
| # | что | ожидание | риск | комментарий |
|
||||
|---|---|---:|---|---|
|
||||
|
||||
| **P14** | **fore-проход персонажа** — 62 778 стоящий страж … **117 570** широкий кадр | **до −80 000** | высокий | самая нестабильная статья. Включает P10 как первый шаг |
|
||||
| P4 | накладные блита (4 правки) | −28 000 | низкий | 6 126 фиксированных на любой блит |
|
||||
| **P4** | **накладные блита** — 6 765 на КАЖДЫЙ блит | **−27 000 в динамике, −24 000 в статике** | низкий | **бьёт и по fore-проходу, и по зелёной фазе** |
|
||||
| P14 | fore-проход персонажа | сводится к P4 + P10 | — | разбор ниже: цикл обходит всего 4 тайла |
|
||||
| P11 | мелочи с известной ценой | −26 000 | низкий | `clip_char_top` 8 658 подтверждён замером |
|
||||
| P10 | футпринт персонажа из физики | −23 000 | средний | часть P14 |
|
||||
| P6a/P6b | `trob_modif` из цикла, кэш префетча | −20 000 | низкий | тот же паттерн трамплина в цикле |
|
||||
|
||||
Reference in New Issue
Block a user