Спасибо за багрепорт. Указанную ошибку уже устранил. Новую версию можно скачать с сайта или воспользоваться функцией автоматического обновления в MapSurfer.NET Studio.
Runge
Ещё такой вопрос, понимаю что регулярные выражения сами по себе работают медленно, но вот такая конструкция в фильтрах у меня конкретно тормозит ))
Runge
У меня не получается задавать толщину линий line-width меньше 1.0.
Меняю значения от 0.4 до 1.0 - линия выглядит одинаковой, чуть превысив значение например до 1.1 - толщина начинает меняться. Это ограничения редактора стиля и GDI, или внутренние проверки отрубают значения < 1 ?
(added)
Обнаружил такое поведение
[highway="track"] {
line-color: black;
line-width: 0.4; // в Studio рендерится ширина 0.4 пикселя
// line-dasharray: 12.0, 2.0;
}
[highway="track"] {
line-color: black;
line-width: 0.4; // в Studio рендерится ширина 1 пиксель
line-dasharray: 12.0, 2.0;
}
Вы правы, библиотека GDI не умеет рисовать линии тоньше 1 пикселя. Это относится и к сплошным и к штрихпунктирным линиям. Однако, в Мапсерфере имеется обходной вариант, который с помощью библиотеки Fog позволяет рисовать сплошные линии толщиной меньше 1. Связка GDI+Fog реализована в рендерере GDI.
Для корректной работы с тонкими линиями я советую попробовать рендерер Cairo. Его можно активировать в свойствах проекта. Но для этого вам понадобится новая сборка Мапсерфера, ссылку на которую я вышлю отдельно в письме.
Mapsurfer Studio последней версии отказывается ставиться, т.к. инсталлятор пытается скачать VC++ 2015 Update 3 по «мёртвой» ссылке с сайта Microsoft, натыкается на 404-ю ошибку и прекращает процесс. Ручная установка VC++ по актуальной ссылке ничего не меняет. Пора бы обновить инсталлятор
Убрал галочку напротив VC++ в инсталляторе и установил. Но возникла другая бяка: новый мапсёрфер начисто не видит GDAL, установленного в пакете же с ним. Установка отдельно упомянутого на предыдущей странице gdal-201-1600-x64-core тоже результата не дала. Куда копать?
Может наивный вопрос, скажите если мы используем для рендеринга Windows API, будет ли какой-то выигрыш если установить в сервер нормальную видеокарту ?
Т.е. вопрос разбивается на два подвопроса
будет ли прирост в Studio
будет ли прирост в сервисе MSN
Вопросы не первостепенной важности т.к. судя по статистике в Studio непосредственно рендеринг занимает всего 25% времени, но всё же… немного тут, немного там - уже оптимизация ))
PS: когда тестировал alaCarte, там у Cairo около 40% всего времени отнимает сжатие для PNG через zlib
Под Windows, MapSurfer.NET использует графическую библиотеку GDI+, которая, насколько я знаю, никакого аппаратного ускорения не поддерживает. Сейчас я все больше смотрю в сторону кросплатформенной библиотеки SkiaSharp, основанной на Skia от Google. Эта библиотека на порядок быстрее уже устаревшей GDI+, к тому же имеет поддержку OpenGL. К сожалению, проект SkiaSharp довольно молодой и некоторые вещи нужные для рендеринга карте в нем реализованны.
Прироста не будет.
Для ускорения могу еще посоветовать не использовать линии толщиной менее 1 пикселя. В этом случае рендеринг осуществляется другой библиотекой Fog. Из-за текущей реализации данные сначала копируются в объекты GDI+, а потом из них копируются в Fog, что ведет к увеличению времени рендеринга.
Еще я бы посоветовал использовать SSD и более аккуратнее подготавливать запросы к базе данных, отбрасывая излишние данные, не используемые в ваших стилях.
Да, спасибо, SSD с самого начала, SQL запросы сейчас оптимизирую (выкидываю площади и длины менее 2 пикселов и пр.)
А вот упрощение геометрии ST_Simplify() на стороне PostGIS дало обратный эффект, запросы стали дольше раз в пять. В общем надо всё тщательно выверять - что делать на стороне базы данных, а что оставить рендеру.
Например на Чепечк Макс заранее прогонял данные через ST_Simplify() для каждого мелкого зума и создавал таблицы. Не буду врать, но вроде говорил об ускорении ренедера на порядок.
Ныне для упрощения на стороне базы рекомендуют скорее ST_RemoveRepeatedPoints c расстоянием в нужное количество пикселей (мапник умеет в запросах плейсхолдер :pixel_height: для конвертации масштаба) - его сложность куда меньше, чем ST_Simplify, а эффекта приносит сравнимо.
Очень жаль проект. Лично я перегорел на каком-то этапе т.к. не хватало мелкого функционала (разворота SVG-иконок), хотя потратил на стили, базы, дизайн иконок около года. Может и вернулся бы к нему - уж очень удобный и наглядный редактор картостилей.
chnav, мне тоже очень жаль, что так и не нашлось времени довести софт до ума.
В нынешних условиях приходится думать как немного подзаработать. Последние два года работал над созданием векторных карт.