GeoCacher

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

Модераторы: Tolik, zed

Re: GeoCacher

Сообщение zed » 27 май 2009, 18:25

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

4.jpg
исходный
Хитрости GoogleEarth - то, чего вы не знаете о гугле
Аватара пользователя
zed
Гуру
 
Сообщения: 1519
ICQ: 357167611
Зарегистрирован: 16 авг 2008, 20:21
Откуда: Беларусь, Могилёв
Благодарил (а): 37 раз.
Поблагодарили: 177 раз.

Re: GeoCacher

Сообщение feya » 27 май 2009, 20:43

ХЗ, я тестил на реальной программе.
Так и не заставили работать ф-ю?
http://SASGIS.ru | SAS.Планета | SASPlanet
Аватара пользователя
feya
Администратор
 
Сообщения: 2035
Зарегистрирован: 13 июл 2008, 10:45
Благодарил (а): 5 раз.
Поблагодарили: 30 раз.

Re: GeoCacher

Сообщение zed » 27 май 2009, 21:12

Неа, видимо, всё-таки поток виноват... кароч, дело тёмное, а ввиду теста на быстродействие, как-то и желание рыть пропало. Отложу в долгий ящик, мож. потом разберусь.
Хитрости GoogleEarth - то, чего вы не знаете о гугле
Аватара пользователя
zed
Гуру
 
Сообщения: 1519
ICQ: 357167611
Зарегистрирован: 16 авг 2008, 20:21
Откуда: Беларусь, Могилёв
Благодарил (а): 37 раз.
Поблагодарили: 177 раз.

Re: GeoCacher

Сообщение feya » 27 май 2009, 21:37

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

Re: GeoCacher

Сообщение feya » 27 май 2009, 21:38

может выложиш какойнибудь самодостаточный кусок кода, я бы поковырял.
http://SASGIS.ru | SAS.Планета | SASPlanet
Аватара пользователя
feya
Администратор
 
Сообщения: 2035
Зарегистрирован: 13 июл 2008, 10:45
Благодарил (а): 5 раз.
Поблагодарили: 30 раз.

Re: GeoCacher

Сообщение zed » 27 май 2009, 23:57

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

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

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

P.S. Потоки действительно оказались не при чём, посему убрал их...
Вложения
Test_FillBMP.rar
Тестовый exe и его исходник
(260.11 KiB) Скачиваний: 103
Хитрости GoogleEarth - то, чего вы не знаете о гугле
Аватара пользователя
zed
Гуру
 
Сообщения: 1519
ICQ: 357167611
Зарегистрирован: 16 авг 2008, 20:21
Откуда: Беларусь, Могилёв
Благодарил (а): 37 раз.
Поблагодарили: 177 раз.

Re: GeoCacher

Сообщение feya » 28 май 2009, 12:46

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

Re: GeoCacher

Сообщение feya » 28 май 2009, 12:49

Поставьтек после bitmap:=TBitmap.Create; - bitmap.PixelFormat:=pf24bit;
http://SASGIS.ru | SAS.Планета | SASPlanet
Аватара пользователя
feya
Администратор
 
Сообщения: 2035
Зарегистрирован: 13 июл 2008, 10:45
Благодарил (а): 5 раз.
Поблагодарили: 30 раз.

Re: GeoCacher

Сообщение zed » 28 май 2009, 13:19

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

Действительно заработало! И оптимизированный вариант стал, как и положено, занимать всего единицы милисекунд. Спасибо.
Хитрости GoogleEarth - то, чего вы не знаете о гугле
Аватара пользователя
zed
Гуру
 
Сообщения: 1519
ICQ: 357167611
Зарегистрирован: 16 авг 2008, 20:21
Откуда: Беларусь, Могилёв
Благодарил (а): 37 раз.
Поблагодарили: 177 раз.

Re: GeoCacher

Сообщение feya » 28 май 2009, 14:00

Пожалуйста.
Ждем обновленную версию GC)
http://SASGIS.ru | SAS.Планета | SASPlanet
Аватара пользователя
feya
Администратор
 
Сообщения: 2035
Зарегистрирован: 13 июл 2008, 10:45
Благодарил (а): 5 раз.
Поблагодарили: 30 раз.

Пред.След.

Вернуться в Другие

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

cron