GeoCacher

Обсуждение различной информации связанной с картографией в САСе, а также сторонние программные продукты для связки с САСом

Модератор: Tolik

zed
Гуру
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз
Поблагодарили: 568 раз

Re: GeoCacher

Сообщение zed »

Интересная вещь, начал замерять скорость выполнения функции... у меня оптимизированный вариант выполняется дольше, чем исходный.
Исходный - ~630 милисек
Оптимизированный - 840 :shock:
Тестировал при помощи AQTime (perfomance -> Elapsed Time), вот построчная задержка:
3.jpg

4.jpg
Аватара пользователя
feya
Гуру
Сообщения: 2034
Зарегистрирован: 13 июл 2008, 10:45
Благодарил (а): 5 раз
Поблагодарили: 56 раз

Re: GeoCacher

Сообщение feya »

ХЗ, я тестил на реальной программе.
Так и не заставили работать ф-ю?
http://sasgis.org | SAS.Планета | SASPlanet
zed
Гуру
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз
Поблагодарили: 568 раз

Re: GeoCacher

Сообщение zed »

Неа, видимо, всё-таки поток виноват... кароч, дело тёмное, а ввиду теста на быстродействие, как-то и желание рыть пропало. Отложу в долгий ящик, мож. потом разберусь.
Аватара пользователя
feya
Гуру
Сообщения: 2034
Зарегистрирован: 13 июл 2008, 10:45
Благодарил (а): 5 раз
Поблагодарили: 56 раз

Re: GeoCacher

Сообщение feya »

zed
Печально. Потоки здесь точно не причем, у меня подобные операции с битмапами идут при склейке, в потоках. Это очень распространенный способ работы с битмапом.
http://sasgis.org | SAS.Планета | SASPlanet
Аватара пользователя
feya
Гуру
Сообщения: 2034
Зарегистрирован: 13 июл 2008, 10:45
Благодарил (а): 5 раз
Поблагодарили: 56 раз

Re: GeoCacher

Сообщение feya »

может выложиш какойнибудь самодостаточный кусок кода, я бы поковырял.
http://sasgis.org | SAS.Планета | SASPlanet
zed
Гуру
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз
Поблагодарили: 568 раз

Re: GeoCacher

Сообщение zed »

feya писал(а):может выложиш какойнибудь самодостаточный кусок кода, я бы поковырял.

Вот, вычленил полностью код, отвечающий за создание тайлов + прикрутил поток (примерно так, как это у меня работает). Компилил в делфи 2007, никаких сторонних компонентов не надо... ну, кроме инди.
Вся работа (и, видимо, траблы) сосредоточены в модуле ImgMaker.pas - его я не менял абсолютно, как используется в GC, в таком же виде он и здесь. Скорость выполнения функций, по-прежнему низка и не в пользу оптимизированного варианта.

Для теста я взял первый попавшийся тайл GE, и X,Y которые используются при генерации, не соответствуют координатам этого тайла, но на работу алгоритма это никак не влияет (качество полученной картинки, в данном случае, нас не интересует - лишь бы небыло черезполосицы).

P.S. Потоки действительно оказались не при чём, посему убрал их...
Аватара пользователя
feya
Гуру
Сообщения: 2034
Зарегистрирован: 13 июл 2008, 10:45
Благодарил (а): 5 раз
Поблагодарили: 56 раз

Re: GeoCacher

Сообщение feya »

Понятно в чем проблема, у вас на битмапе формат пиксела 32 бита.
http://sasgis.org | SAS.Планета | SASPlanet
Аватара пользователя
feya
Гуру
Сообщения: 2034
Зарегистрирован: 13 июл 2008, 10:45
Благодарил (а): 5 раз
Поблагодарили: 56 раз

Re: GeoCacher

Сообщение feya »

Поставьтек после bitmap:=TBitmap.Create; - bitmap.PixelFormat:=pf24bit;
http://sasgis.org | SAS.Планета | SASPlanet
zed
Гуру
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз
Поблагодарили: 568 раз

Re: GeoCacher

Сообщение zed »

feya писал(а):Поставьтек после bitmap:=TBitmap.Create; - bitmap.PixelFormat:=pf24bit;

Действительно заработало! И оптимизированный вариант стал, как и положено, занимать всего единицы милисекунд. Спасибо.
Аватара пользователя
feya
Гуру
Сообщения: 2034
Зарегистрирован: 13 июл 2008, 10:45
Благодарил (а): 5 раз
Поблагодарили: 56 раз

Re: GeoCacher

Сообщение feya »

Пожалуйста.
Ждем обновленную версию GC)
http://sasgis.org | SAS.Планета | SASPlanet
Ответить

Вернуться в «Другие программы»