L9-INVERT: зафиксированы решения по кэшу зеркальных кадров и порядку работ
Кэш — ленивый постраничный, живёт до конца уровня; ENTER-ROOM-FAST делается шагом 4 на готовом gfx_copy_rect. Открытых вопросов в плане не осталось. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -209,7 +209,15 @@ void gfx_copy_rect(uint8_t src_page, int sx, int sy,
|
|||||||
- **кэш ключуется по СТРАНИЦЕ атласа**, а не по кадру: страница = 8 кадров,
|
- **кэш ключуется по СТРАНИЦЕ атласа**, а не по кадру: страница = 8 кадров,
|
||||||
3-10 КБ, ~0.2-0.4 растрового кадра на переворот.
|
3-10 КБ, ~0.2-0.4 растрового кадра на переворот.
|
||||||
|
|
||||||
Стратегия наполнения кэша — см. открытый вопрос №1 внизу.
|
**Стратегия наполнения — ЛЕНИВЫЙ ПОСТРАНИЧНЫЙ** (решение пользователя
|
||||||
|
2026-08-12): страница переворачивается при первом обращении к ней в
|
||||||
|
перевёрнутом режиме. Реально в ходу 5-10 страниц из 34, и если игрок зелье не
|
||||||
|
трогал, не тратится ни такта, ни страницы.
|
||||||
|
|
||||||
|
**Время жизни кэша — ДО КОНЦА УРОВНЯ**: освобождаем страницы при смене
|
||||||
|
уровня, а не при снятии эффекта. На уровне 9 переворот случается минимум
|
||||||
|
дважды (второе зелье возвращает всё назад), плюс его снимает смерть Кида —
|
||||||
|
готовить пачку заново каждый раз было бы обидно.
|
||||||
|
|
||||||
После [UI-SPRITES](../roomtest/TASKS_OPEN.md#ui-sprites) страницы `kid27` и
|
После [UI-SPRITES](../roomtest/TASKS_OPEN.md#ui-sprites) страницы `kid27` и
|
||||||
`g0` станут чисто «полевыми» (деления HP уедут в константы резидента), и
|
`g0` станут чисто «полевыми» (деления HP уедут в константы резидента), и
|
||||||
@@ -293,11 +301,13 @@ void gfx_copy_rect(uint8_t src_page, int sx, int sy,
|
|||||||
- **fore-слой поверх персонажа**: он рисуется по футпринту спрайта, а
|
- **fore-слой поверх персонажа**: он рисуется по футпринту спрайта, а
|
||||||
футпринт после переворота другой — проверить именно на сцене с колоннами.
|
футпринт после переворота другой — проверить именно на сцене с колоннами.
|
||||||
|
|
||||||
# Открытые вопросы (ответы пользователя нужны до II.4)
|
# Решения пользователя (2026-08-12)
|
||||||
|
|
||||||
1. Стратегия наполнения кэша зеркальных кадров: ленивый постраничный (по
|
1. **Кэш зеркальных кадров — ленивый постраничный**, наполняется по первому
|
||||||
первому обращению), разом при входе на уровень с зельем типа 4, или офлайн
|
обращению (см. II.4).
|
||||||
в упаковщиках.
|
2. **Живёт до конца уровня**, освобождается при смене уровня.
|
||||||
2. Время жизни кэша: освобождать страницы при снятии эффекта / при выходе с
|
3. **ENTER-ROOM-FAST делается сразу**, шагом 4 — на готовом `gfx_copy_rect`,
|
||||||
уровня / держать до конца программы.
|
до того как на копию завяжется переворот.
|
||||||
3. ENTER-ROOM-FAST — делать сразу (шаг 4) или отложить до закрытия L9-INVERT.
|
|
||||||
|
Открытых вопросов не осталось: план исполняется как есть, новые развилки —
|
||||||
|
только если разведка I.0 даст отрицательный результат по Р1.
|
||||||
|
|||||||
Reference in New Issue
Block a user