CreateJS / EaselJS Нарисуйте большое количество выступлений прямоугольников - PullRequest
0 голосов
/ 30 сентября 2018

В настоящее время я использую CreateJS / EaselJS в своем приложении React.

У меня есть сценарий использования, когда мне нужно нарисовать много 1px by 1px прямоугольников на холсте (сцена).

Например, на холсте 500x500 у меня есть 250000 точек, чтобы заполнить этот холст.Немного на заднем плане, каждая точка - это объект, который имеет {posX, posY, color}.Цвет определяется по Data Normalization и Color Interpolation.Мой пример использования - цвет каждой точки будет меняться в зависимости от значения Range Slider.

Моя проблема - рисовать ~ 100000-150000 точек, время очень сложное, а производительность, которую я вижу, ужасна.Вот Stackblitz (Если Stackblitz не работает, перейдите в файл Stage.js и добавьте пробел где-нибудь, затем сохраните).Метод drawPoints() на Stage.js - это то, где я рисую точки и на каждом измененном значении ползунка я перерисовываю его.Насколько я понимаю, я не могу кешировать точку, которая была нарисована при изменении ее цвета.

Есть ли что-нибудь, что я могу сделать здесь, чтобы улучшить производительность?

  • Ничья в партии?Так что мне не нужно перебирать большой массив Точек
  • Многослойность?

Буду очень признателен за любые предложения.Спасибо

...