Графики в Rainbow переписали на нативную отрисовку — и замерили выигрыш
17 октября 2026
16 октября слиты две правки с разницей в две секунды. Они не независимы: вторая лежит поверх первой. Обе про одно — скорость графиков.
Что сделали
Три графика переехали на нативную отрисовку. Правка #7823 перевела свечной, Polymarket и спарклайн на отрисовку, которая публикует картинки прямо в нативный компонент, минуя реактовский слой. Одиннадцать файлов: добавлено 419 строк, удалено 831.
Под нож пошёл целый хук.useWorkletClass решал неочевидную задачу: воркле́ты Reanimated не умеют держать обычный объект, поэтому экземпляр создавался на стороне интерфейса и хранился в разделяемом значении. Теперь жизненным циклом управляет сам компонент, и хук стал не нужен — 61 строка удалена.
Свечной график вычистили отдельно. Правка #7828 лежит поверх первой. Главное в ней — устойчивые номера свечей. Раньше при подгрузке старой истории график съезжал, и это чинили отложенной правкой смещения вместе с состоянием, которое её отслеживало. Теперь номер свечи от подгрузки не меняется, и вся машинерия исчезла вместе с причиной.
Замеры, которые автор привёл сам
Для пул-реквеста это редкость: обычно пишут «стало быстрее» и на этом останавливаются.
Память на одну перерисовку — 111 → 33 КБ, минус 70%
Что здесь необычного
Вместе две правки удаляют 1311 строк и добавляют 792 — чистый минус в 519 строк. Обычно за скорость платят усложнением кода; здесь наоборот, и причина в том, что выигрыш пришёл от смены подхода к отрисовке, а не от подкручивания старого.
Для пользователя это отзывчивость графиков при перетаскивании и масштабировании — в бессрочных фьючерсах, в карточке токена и в рынках Polymarket. Сильнее всего заметно на слабых телефонах.
Есть ли это в приложении
Пока нет. Последняя вышедшая версия — 2.0.46 от 8 октября, а правки слиты 16-го. В какой версии они появятся, Rainbow заранее не объявляет.