Замер сцены 11/15 и единый реестр оптимизаций
Новая целевая сцена: уровень 11 комната 15 — два факела, чомпер, страж. В отличие от 13/23 (разовый пик на каскаде плит) здесь дорога САМА статика: Кид и страж стоят, а кадр стоит 801 768 тактов = 1,86 растрового кадра, период 4 растра во всех 866 интервалах прогона. Фазы: синяя 293 238 (heal 141 048 + логика 152 190), зелёная 320 916 (loose_tick 28 872 + process_trobs 92 448 + redraw_needed 190 260), циан 187 758. Впечатление «циан ~150 % кадра» не подтвердилось: за 867 кадров разброс циана 174 такта, это 0,44 растра. Главная находка — 190 260 тактов на ОДИН тайл (pop_dbg_rdmax_tot = 1). Пламя факела запекается в ячейке правого соседа, то есть поверх чомпера, и process_trobs метит соседа (порт set_redraw_anim_right). Оригинал на такую пометку рисует ТОЛЬКО слой anim, мы же отвечаем heal 32x64 плюс полный draw_tile — со всеми слоями, которых пламя не касалось. Заодно разложена цена одного блита фона (брейкпоинты на резидентных адресах внутри pop_blit_b, temp0 на входе, 1603 блита): фиксированная накладная 6 126 тактов на ЛЮБОЙ блит — пролог с IX-фреймом 810, atlas_image 672, w0_map с чтением шапки 2 400, cd_touch 2 069, unmap 175. У самого дешёвого блита это 59 % цены, у пламени 16x18 пиксели тянут лишь 12 %. Причины ровно те, на которые указал пользователь: 16-битные аргументы там, где хватает 8 бит, и адресация через IX. perf_registry.md сводит в один отсортированный список всё отложенное из perf_green_phase (G1-G9), perf_cyan_phase (C1-C7), perf_backlog (1-7), HEAL-WIDTH и сегодняшние находки — с пометкой замер/модель/гипотеза. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -313,6 +313,11 @@ MEM-BANK2, MEM-BANK5, CLIP-1, KBD-1, DBG-CHEATS.
|
||||
Числа там уже разобраны: 60 = 32 свой тайл + 28 собственный свес, и для
|
||||
запечки САМОГО тайла 60 минимальны — сужать можно только пометку СОСЕДА.
|
||||
|
||||
**Место в общей очереди — [`../docs/perf_registry.md`](../docs/perf_registry.md)
|
||||
(позиция P8).** Там же собраны ВСЕ отложенные оптимизации из трёх фазовых
|
||||
доков, отсортированные по измеренному эффекту, и разложена цена одного блита
|
||||
(6 126 тактов фиксированной накладной на любой блит, независимо от размера).
|
||||
|
||||
|
||||
### <a id="l12-shadow"></a>L12-SHADOW. Уровень 12: встреча с тенью, бой, слияние
|
||||
|
||||
|
||||
Reference in New Issue
Block a user