WebGL2 · замерено на Apple M5

zerox-chart vs TradingView

Свой графический движок против обоих продуктов TradingView — lightweight-charts и Charting Library. Вес, скорость, функционал. Все цифры — реальные замеры на Apple M5 (ANGLE Metal), не оценки.

11 KB
вес lite (gzip)
против 49–60 KB у lightweight-charts
40×
быстрее загрузка
50k свечей: 1.2 мс vs 48.6 мс
650×
быстрее live-обновление
2.5M/с vs 3 820/с

Два продукта — один движок

Каждый таргет бьёт свой класс

Один монорепо, две сборки. Lite — минимальный примитив против lightweight-charts. Full — полный терминал против TradingView Charting Library.

zerox-lite

против lightweight-charts (open-source, Canvas2D)
11 KB
вес gzip — в 4.4–5.4× легче (LWC 49–60 KB)
40×
загрузка 50k свечей (1.2 vs 48.6 мс)
73×
аппенд новых баров (278k vs 3.8k /с)
WebGL2
GPU-рендер против их Canvas2D (CPU)

zerox-chart full

против TV Charting Library (лицензия, Canvas2D)
124 KB
вес gzip — против нескольких MB у TV CL
~50
встроенных индикаторов + инструменты рисования
120 fps
пан/зум на 1M свечей (WebGL2 GPU)
$0
своё, без лицензии и agreement

Вес бандла

Размер · gzip, меньше — лучше

Что реально качает клиент. Ноль рантайм-зависимостей у всех наших сборок.

zerox-lite WebGL2 · наш
11 KB
lightweight-charts 4.x Canvas2D · TV
49 KB
lightweight-charts 5.2 Canvas2D · TV
60 KB
zerox-chart full WebGL2 · наш, полный терминал
124 KB
TV Charting Library Canvas2D · TV, лицензия
≈ 3 000+ KB

Наш полный терминал (124 KB) с ~50 индикаторами + рисованием + WebGL — всё ещё легче, чем lightweight-charts двух версий вместе, и в ~25× легче TV Charting Library.

Производительность · Apple M5, ANGLE Metal

Загрузка данных · setData, мс (меньше — лучше)

Время от вызова setData до первого кадра. Чем больше свечей, тем сильнее разрыв.

10 000 свечей lightweight-charts
12.1 мс
10 000 свечей zerox-lite
2.0 мс
50 000 свечей lightweight-charts
48.6 мс
50 000 свечей zerox-lite
1.2 мс

zerox-lite грузит и 200k (3.6 мс) и 1M (59 мс) свечей; lightweight-charts на Canvas2D уже на 50k тратит ~49 мс на кадр.

Производительность · Apple M5

Реальное время · обновлений/с (больше — лучше)

База 50 000 свечей. Горячий путь трейдинга — тики в формирующуюся свечу. У lightweight-charts стоимость обновления растёт с размером серии; у нас O(1).

forming-bar тик lightweight-charts
3 820
forming-bar тик zerox-lite
2 500 000
аппенд нового бара lightweight-charts
3 820
аппенд нового бара zerox-lite
278 000

forming-update: 650× · аппенд: 73×. Наш живой путь — bufferSubData O(1) на GPU (не перезаливаем буфер).

Производительность · Apple M5, реальная GPU

Рендер · WebGL2 GPU против Canvas2D

Пан/зум по датасету в 1 000 000 свечей. У нас — кадр уходит на GPU инстансированным рисованием; на экране 120 fps (потолок vsync) с запасом в 99%.

сценарий (1M свечей в памяти)zerox-liteнаш fulllightweight-charts
пан, видно 300–5000 свечей0.1 мс · 120 fps0.1–0.6 мс · 120 fpsCanvas2D (CPU)
чистый GPU-draw 1M инстансов3.8 мс3.8 мс
full-fit весь 1M в один экран2.5 мс81 мс
пропускная способность262 000 свечей/мс262 000 свечей/мс

Пан-fps lightweight-charts не измерить синхронно в headless (rAF замораживается), но рендер у него Canvas2D на CPU — каждая перерисовка пропорциональна числу свечей; наш GPU-инстансинг от этого не зависит.

Функционал

Матрица возможностей

наши сборки продукты TradingView есть   частично/в работе   нет
параметрzerox-litelightweight-chartszerox-chart fullTV Charting Library
Технология рендераWebGL2 GPUCanvas2DWebGL2 GPUCanvas2D
Вес (gzip)11 KB49–60 KB124 KB≈3 MB+
Рантайм-зависимости000пакет ассетов
Типы серий5 candle·line·area·baseline·hist65+все
Встроенные индикаторыopt-in (0 в lite)0~50100+
Инструменты рисования● тренд/фибо/ганн/фигуры
Слой сделок/позициймаркерымаркеры● GL-слой
Маркеры · price-lines● ●● ●● ●● ●
Crosshair · легенда● ●● ●● ●● ●
Мультипанель / неск. шкал● panes + left/right● (v5)
Watermark
Темизация● runtime● setTheme
Real-time обновление● O(1)● деградирует● O(1)
1M свечей плавно● 120 fps— (Canvas2D)● 120 fps
API-совместимость с LWC● drop-in◐ через createChart
Лицензиясвоё / открытоApache-2.0своёпроприетарная + agreement

Методология и честные оговорки