Здравствуйте!
Есть карта игрового мира, в данный момент представленная в виде набора обычных тайлов. Очень хочется переделать ее в набор линий и полигонов (для оперативности редактирования и дорисовывания).
Единственный подход, который мне видится - хранить в БД описания всех свойств и координат элементов, изображающих поля, леса, дороги, проверять, какие из всех имеющихся в базе объектов видны сейчас на карте и подгружать их. При перемещении карты или смене масштаба удалять с карты все, что вышло за пределы видимости и загружать видимые объекты по-новой (или как-то хитро построить алгорим так, чтобы он учитывал, какие уже видны и догружал новые). При этом элементы, которые частично выходят за пределы зоны видимости, грузить полностью, без отсечек.
Я права или есть какие-то более элегантыне способы решения?
Есть ли какие-то встроенные процедуры отсечки, чтобы не грузить лишнее?
Как я понимаю, в отличие от тайлов, закешировать тут ничего не удастся?
Проблема в том, что, как мне видится, любое передвижение или изменение масштаба вызовет обмен данными между клиентом и сервером, т.е при работе с картой пойдет большой поток траффика, что для медленных и дорогих интернетов крайне неприятно.
Если мне подскажут, в каком направлении копать для оптимизации и минимизации обмена между клиентом и сервером, буду очень благодарна.