У Вас нолик либо лишний, либо не достающий, 2000 (две) или 40000 (сорок)?
В принципе, для отображения на экране зачем делать точек больше чем экран в состоянии отобразить?
На графике "много точек" никогда не бывает плохо, если он в состоянии их выводить с градациями яркости и типа, отображая основной тренд или средние, мин и макс значения...
А там явная опечатка - 4 тыс.шт. Да и смысл там не в отображении только в окне, а при увеличении буфера dynagrahs тоже начинает подтормаживать. Писать вывод участка самому там не обязательно, но на 2 тысячи точек в динамике он уже не справляется на среднем компе... На статическом, заранее набранном графике, это не так заметно.
Именно по этому и писал, что есть функции вывода через API (ближе к системным вызовам, типа для отображения осциллограммы стандартных wav файлов, а не путем описания на javascript прорисовки каждой точки... ).
Общую задачу тоже описывал – это будет простейший логгер. Т.е. имеем
текущий график с максимально возможным комфортным шагом точек для передачи и отображения в реал-тайм и набранную статистику. Под статистикой подразумевается циклический буфер на год в самом устройстве, с усредненными с точками в среднем около 5 минут (зависит от объема flash) и возможности отдачи устройством по внешнему запросу блоков точек для отображения
за сутки,
неделю,
месяц и
год с соответственно увеличенным шагом усреднения для каждого периода (например по 1000 точек за каждый выбранный период). Для отображения накопленной статистики dynagrahs годится и имеет почти всё встроенное.
А вот для текущего реал-тайм графика - не годится. Не городить же опять какую Флеш - там ещё остались беды с совместимостью исполнения её на разных устройствах...
В качестве условной задачи можно рассмотреть устройство контроля жизненного цикла АКБ. Под это и выбран INA219 – это измеритель тока и напряжения. Т.е. такой логгер позволяет оценить текущее потребление и зарядку, снять полную доскональную диаграмму цикла, а за счет статистических показателей оценить другие параметры АКБ и выписать диагноз на замену и т.д…
Т.е. это более менее стандартная схема для разных устройств домашней “лаборатории” и для простого счетчика электроэнергии или …
Ну а по оптимизации алгоритмов усреднения в самом устройстве необходим буфер на N замеров с максимальной производительностью датчика для наложения коэф. фильтра с известной импульсной реакцией... Иначе это не усреднение, а баловство. Он же и используется для буферизации отдачи текущего графика... Отображение, набор, усреднение, интерфейс для статистики отработан уже много раз и много лет, и проблем не составляет. Но вот с текущими показаниями, особенно если производится вывод одновременно нескольких переменных с разными шкалами, существуют трудности по выбору оптимума. По этому, с решения более сложной задачи и начал…
Полоса на WiFi при передаче через WiFi у нас в лучшем случае 1.8Мбайт/сек. Но данные броузерам передаются не в бинарном виде и при 1.8Мбайт/сек обязательно будут дыры на время занятия канала другими участниками WiFi сети. В итого и выходит предельный расчетный трафик для таких устройств до 300КБ/сек. Это, если в текстовом виде, будет явно до 10 тыс. точек в сек. INA219 дает в пределе 1000 точек тока и напруги в сек по 12 бит. Он и взят за базис, для создания примера на Web-свалке и является одной из основных целей создаваемой сборки SDK, описываемой в данной теме... На ESP это сделать не удалось из-за его глючности, теперь пробуем на RTL. И так до победного конца, пока не будут доступны описанные по параметрам устройства за 200 руб в свободном доступе.