veydlin
@veydlin
Мне никогда не жалко средств на свое любопытство

Как быстро выбрать элеметы?

Для простоты я упрощу описание сохранив суть

Есть холст на котором нарисованы полигоны, около 500 000, эти полигоны сейчас хранятся в JSON файле и выгружаться при запуске проекта, а после отрисовываются.
JSON со списком полигонов сейчас по сути файл проекта

Вопросов несколько:
1) При клике мышки в любое место надо найти все полигоны, что были нарисованы под точкой клика, как это лучше всего сделать? (читать JSON не обязательно, допустимо выгрузить его в какой-нибудь контейнер в оперативку)

2) Юзер будет часто сохранять изменения, наверное, при каждом изменении (раз в 5-10 секунд) и тем самым перезаписывая JSON, может быть посоветуете что-то на его замену?
  • Вопрос задан
  • 58 просмотров
Пригласить эксперта
Ответы на вопрос 1
robinzonejob
@robinzonejob
разработчик .NET
1. Использовать большую хэштаблицу, где в качестве ключа будут координаты полигона, а в качестве значения ссылка на сам полигон. При клике мыши - брать координаты курсора и за о(1) доставать по ним из таблицы все нужные полигоны, сдвигая координаты вниз.
2. Можно разнести информацию на несколько Json'ин, чтобы уменьшить размер файла и хранить в том документе который будет перезаписываться только ту информацию, которую нужно постоянно перезаписывать (в моем понимании - это координаты). Можно это хранить тупо в бинарном файле, и записывать подряд числа координат, а не JSON.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы