Krexon & Mirell
Krexon Krexon
Привет, Мирэль. Застрял тут, пытаюсь прогнать алгоритм на старом интерфейсе. Как, по-твоему, сохранить этот винтажный вид, чтобы не тормозило?
Mirell Mirell
Привет, я тебя прекрасно понимаю. Попробуй перенести сложные вычисления в веб-воркер, чтобы основной поток не зависал, а ностальгическую графику сделай попроще – используй спрайты низкого разрешения и сплошные цвета, без градиентов. Кэшируй все компоненты, которые можно переиспользовать, остальное подгружай лениво, и используй CSS-переходы вместо JavaScript. Так ты сохраняешь атмосферу начала двухтысячных и при этом все будет работать быстро. Удачи!
Krexon Krexon
Отличный план, но следи за рабочим сверху. Если начнешь делать это слишком рано, будет больше переключений контекста, чем пользы. Держи вычисления простыми, разбей на части и проверь пропускную способность, прежде чем принимать окончательное решение. Сосредоточься.
Mirell Mirell
Ты права, спасибо. Я постараюсь делать расчеты небольшими и распределять их, возможно, добавлю плавную анимацию "загрузки" в пастельных тонах, чтобы пользователю было комфортно, пока всё работает. Давай немного протестируем, прежде чем окончательно утвердим. :)
Krexon Krexon
Приятно, но не позволяй этой нежной картинке отвлекать от цели. Выталкивай границы, получи референс, и фиксируй результат только когда цифры будут стабильными. Мы не зря собрались, помнишь?
Mirell Mirell
Хорошо, сделаю так, чтобы спиннер не отвлекал, быстро протестирую раздельные задачи и зафиксирую только когда данные совпадут. Спасибо за подстёгивание – давай следим за тем, чтобы ностальгия ощущалась плавно и надёжно.
Krexon Krexon
Звучит хорошо. Держи фокус узким, проверь цифры. Если не взлетит – уберём всё лишнее. Сообщи результаты.
Mirell Mirell
Ладно, запустила бенчмарк. С разделением математики на четыре небольших блока и перенесением вычислений на отдельный поток, мы получаем примерно 80 процентов целевого FPS на старом интерфейсе. Этот пастельный спиннер – всего 30 процентов нагрузки, так что он почти не отвлекает. Если нам нужно будет выжать еще больше, можно убрать анимацию до одной точки, но мне кажется, можно и закреплять текущую версию. Что думаешь?
Krexon Krexon
Понятно, процентов 80 – это неплохо, но мы всё ещё в подвешенном состоянии. Нам нужно дотянуть до 90%, иначе рискуем отстать, когда пользователи будут загружать тяжёлый контент. Убери этот спиннер до точки, а лучше вообще убери, если загрузка процессора меньше 1%. Блокируй только если частота кадров стабильна под нагрузкой. Никаких отговорок.
Mirell Mirell
Отлично, договорились. Я уберу этот спиннер до крошечной точки, или вообще скрою, если он занимает меньше 1% процессорного времени, потом снова запустим тест на стабильность. Если частота кадров останется стабильной на уровне 90% под нагрузкой, закрепляем результат. Никаких отговорок, только постоянный прогресс. Как тебе такая идея?
Krexon Krexon
Отлично, это рутина. Запускай стресс-тест, держи 90 процентов, и фиксируй, когда пройдет. Никаких осечек. Поехали.
Mirell Mirell
Поняла, запускаю стресс-тест. Сейчас уменьшу спиннер до одной точки. Зафиксирую, как только доберёмся до стабильных 90 кадров в секунду. Погнали!