SprPoP: доски — SND-PACE-DEAD снят, PV-RENDER-BOUND исправлен
Обе записи закрыты сегодняшними правками: вторая шкала по насосу удалена вместе с гонкой, которая её выбирала, а «сцена дороже бюджета» оказалась не ценой кадра, а местом отсчёта интервала. Исходные разборы оставлены под заголовками — они объясняют, как искали. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -35,8 +35,8 @@
|
||||
| [KBD-STUCK-WAIT](#kbd-stuck-wait) | потерянный break-код клавиши вешает игру НАСМЕРТЬ в межуровневой заставке | клавиатура/клин | **корень найден и устранён** 2026-08-28 (байты крал KEYSCAN DSS); ждёт полевой проверки |
|
||||
| [L10-BUTTON-DEBRIS](#l10-button-debris) | ур.10 к.1: плита упала на кнопку (1,8) — щебень есть, а решётки закрыты | кнопки/ворота | открыт: **не воспроизводится**, проверено многое (см. разбор) |
|
||||
| [LOOSE-SEAM-ANIM](#loose-seam-anim) | плита в шве (col −1), уроненная в прошлой комнате, исчезает без анимации падения | **мелкий** | открыт по решению пользователя: «пока пусть будет так» |
|
||||
| [SND-PACE-DEAD](#snd-pace-dead) | пейсинг сцен по насосу CBL не включается: признак «часы идут» вычисляется двумя чтениями подряд | **тайминг/звук** | открыт: диагноз полный, симптом обойдён подгонкой (2026-08-27) |
|
||||
| [PV-RENDER-BOUND](#pv-render-bound) | сцена с принцессой рисуется дороже бюджета: ~49 тиков/с вместо 60, музыка уезжает от картинки | производительность | открыт: замер есть, лечение — удешевить кадр |
|
||||
| [SND-PACE-DEAD](#snd-pace-dead) | пейсинг сцен по насосу CBL не включается: признак «часы идут» вычисляется двумя чтениями подряд | **тайминг/звук** | **снят 2026-08-28**: ветка удалена, сцена на единых часах по лучу |
|
||||
| [PV-RENDER-BOUND](#pv-render-bound) | сцена с принцессой рисуется дороже бюджета: ~49 тиков/с вместо 60, музыка уезжает от картинки | производительность | **исправлено 2026-08-28**: кадр разложен на блоки по интервалу, удешевлять не понадобилось |
|
||||
| [MUS-LEFT-TEAR](#mus-left-tear) | `pop_mus_left` (16 бит, пишет прерывание) читается из главного цикла неатомарно — возможен ложный «трек кончился» | **потенциальный** | открыт: хазард показан рассуждением, в прогоне не проявился |
|
||||
|
||||
---
|
||||
@@ -1206,7 +1206,15 @@ fade_in по построению пишет все 256 записей из сн
|
||||
---
|
||||
|
||||
<a id="snd-pace-dead"></a>
|
||||
## SND-PACE-DEAD. Пейсинг сцен по насосу CBL не включается
|
||||
## SND-PACE-DEAD. Пейсинг сцен по насосу CBL не включается — СНЯТ 2026-08-28
|
||||
|
||||
> **Закрыт удалением самой ветки.** Сцена с Джафаром переведена на ЕДИНЫЕ
|
||||
> часы — кадры луча (`intro_pv_animated`): вторая шкала по насосу и гонка,
|
||||
> которая её выбирала, убраны целиком. Насос как часы был нужен потому,
|
||||
> что кадр сцены рисовался дольше своего интервала; теперь отрисовка
|
||||
> разложена по интервалам (`pv_restore_bg`), и счёт кадров честен.
|
||||
> Побочный эффект гонки — «кода реплики каждый прогон в другом месте» —
|
||||
> исчез; проверено пользователем. Ниже — исходный разбор.
|
||||
|
||||
**Замер (MAME, 2026-08-27).** В сцене `intro_pv_scene()` зонды показали
|
||||
`snd_done == 0` на всём прогоне — то есть ветка `if (snd_pace)`, ради
|
||||
@@ -1237,7 +1245,17 @@ snd_pace = (uint8_t)(pop_snd_tick != snd_prev); /* часы реально и
|
||||
---
|
||||
|
||||
<a id="pv-render-bound"></a>
|
||||
## PV-RENDER-BOUND. Сцена с принцессой не укладывается в свой бюджет кадра
|
||||
## PV-RENDER-BOUND. Сцена с принцессой не укладывается в свой бюджет кадра — ИСПРАВЛЕНО 2026-08-28
|
||||
|
||||
> **Причина оказалась не в цене кадра, а в том, ГДЕ отсчитывался интервал.**
|
||||
> Кадр рисовался целиком, и только потом ждали vsync и ещё четыре — то есть
|
||||
> отрисовка ПРИБАВЛЯЛАСЬ к делителю. Теперь она разложена на блоки, каждый
|
||||
> из которых влезает в кадровый интервал, и после каждого ждём vsync
|
||||
> (`pv_restore_bg` + раскладка кадра в `cut_run` / `pre_room_animated` /
|
||||
> `intro_pv_draw_frame`); фон восстанавливаем только по картинке, 200 строк
|
||||
> вместо 256. Удешевлять сцену не понадобилось: отрисовка ~2 кадра при
|
||||
> бюджете 5. Подгонка `PV_MAGIC_LEAD` снята (0) — проверено пользователем:
|
||||
> кода попадает в нужный кадр. Ниже — исходный замер.
|
||||
|
||||
**Замер (MAME, 2026-08-27).** Реплика Джафара `m53` — 1403 порции насоса,
|
||||
то есть 16,42 с реального времени. За это время шкала сцены прошла
|
||||
|
||||
Reference in New Issue
Block a user