c9aa6d9c16
Полная перерисовка (прошлый коммит) чинила лишние языки огня, но стоила 6 245 477 тактов = 14.5 кадра (замер MAME) против 2.1 кадра у копии акселератором — пользователь увидел сильное подтормаживание на U, причём в обе стороны. Оказалось, чинить надо ровно одну вещь: пламя факела запекается в ОЗУ-копию (pop_torch_draw — heal'а нет, следующий кадр непрозрачно накрывает предыдущий), и отражение утаскивало его в зеркальную позицию, где накрывать уже нечем. Новая pop_torch_wipe(row,col) стирает запечённый кадр пламени и возвращает фон покоя (bar + draw_tile своей ячейки и правого соседа — канвас 16x18 в ячейке правого соседа, как в seg008:560). pop_flip_screen снова отражает копией, но ПЕРЕД этим проходит 30 тайлов комнаты и чистит факелы (коды 19 и 30) на обеих страницах. Замер после правки: 904 247 тактов = 2.1 кадра — то есть чистка стоит ~7 000 тактов, а переворот вернулся к скорости копии (ускорение 6.9x против перерисовки). tests-host 6/6.