SASGIS

Веб-картография и навигация

Разбивка выделения при закачке на части

Запрашиваем и выполняем хотелки к SAS.Планете вне очереди

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

Правила форума
Настоятельно рекомендуем ознакомиться с правилами раздела платных услуг ТУТ.

Re: Разбивка выделения при закачке на части

Сообщение Parasite » 29 апр 2016, 21:11

vdemidov писал(а):Нельзя ускорить потом. Иначе ГУЙ будет зависать до полого подсчета. Я такое откачу в любом случае. А полный просчет нужен уже для старта первой закачки, чтобы посчитать до какого тайла ей нужно качать.

Так мы в любом случае уже считаем число тайлов в выделенном полигоне при старте любой закачки. И полигон-то не будет меняться при автостарте любого суб-потока - выделение-то юзером было сделано одно, и его просто надо атомизировать сугубо в пределах внутренней обработки введенных юзером данных. То есть - зачем полигон лопатить N раз, если он один, един, и вообще не меняется по ходу дела? Обработать его один раз - но так, как нужно для этой конкретной задачи.

Я к тому, что этим уже имеющимся подсчетом - вот прямо по ходу оного - как-то можно воспользоваться, если юзером указано "разбить закачку"? Как-то сразу выделять в под-части при проходе того первого единого подсчета (который и так уже делается вот прямо сейчас), чтобы не лопатить одно и то же по N раз, или как-то иначе? Сливать в N отдельных массивов при том первом проходе (кои потом и стартовать отдельно), или как-то иначе...Я в эти дебри алгоритмизации уже не полезу - ибо всё, что мне тут нужно, это чтобы оно просто работало. :)
The only difference between me and a mad man is that I am not mad. /Salvador Dali/
Изображение
Аватара пользователя
Parasite
Администратор
 
Сообщения: 5646
Зарегистрирован: 23 окт 2008, 17:38
Благодарил (а): 124 раз.
Поблагодарили: 512 раз.

Re: Разбивка выделения при закачке на части

Сообщение zed » 29 апр 2016, 22:14

Parasite писал(а):Я желаю:

Я же говорю - я тебя понял.
Parasite писал(а):В данной конкретной теме мнение других мне интересно не ранее, чем они материально подпишутся под свою часть финансирования хотелки.

Дело в том, что то, что ты просишь, может быть полезно только одному тебе. И вот меня терзают смутные сомнения, а стоит ли внедрять фичу, полезную лишь одному юзеру (теоретически). Твоя давняя хотелка http://www.sasgis.org/mantis/view.php?id=1647 закрыта, со статусом "решению не подлежит". Поэтому нужно определиться: открывать тот тикет или нет. Если коллективный разум решит, что данная фича будет полезна и востребована, я её реализую.
vdemidov писал(а):Нельзя ускорить потом. Иначе ГУЙ будет зависать до полого подсчета. Я такое откачу в любом случае. А полный просчет нужен уже для старта первой закачки, чтобы посчитать до какого тайла ей нужно качать.

Ну, не обязательно же делать всё в лоб. По кнопке "Начать загрузку", нужно стартовать окошко "Подготовка к загрузке", в котором запускать поток с подсчётом тайлов и прочей логикой. Когда все расчёты закончатся, из этого окошка уже можно будет создавать Download Progress и запускать рабочие потоки с заданным диапазоном StartPoint и EndPoint. Заодно, нужно добавить итератору тайлов метод Reset, который на вход принимает StartPoint, чтобы сразу перемотать его на нужную нам позицию, а не гнать Next(), как сейчас. В общем, всё решаемо.
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 568 раз.

Re: Разбивка выделения при закачке на части

Сообщение vdemidov » 29 апр 2016, 23:56

zed писал(а):Ну, не обязательно же делать всё в лоб. По кнопке "Начать загрузку", нужно стартовать окошко "Подготовка к загрузке", в котором запускать поток с подсчётом тайлов и прочей логикой. Когда все расчёты закончатся, из этого окошка уже можно будет создавать Download Progress и запускать рабочие потоки с заданным диапазоном StartPoint и EndPoint.

Вот именно это и есть делать все в лоб. Вместо того что бы реализовать алгоритм с логарифмической сложностью или подумать как указать итератору какую часть итерировать без полного просчета - сделать в лоб отдельный поток. Та ну нафиг. Такой код я ревертну без малейших угрызений
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
Аватара пользователя
vdemidov
Гуру
 
Сообщения: 1687
Зарегистрирован: 12 дек 2008, 13:10
Откуда: Киев
Благодарил (а): 191 раз.
Поблагодарили: 157 раз.

Re: Разбивка выделения при закачке на части

Сообщение zed » 30 апр 2016, 00:10

vdemidov
Ты не прав на 100%. Алгоритм подсчёта тайлов, даже оптимизированный, тебя не спасёт. Подготовку в любом случае нужно делать в отдельном потоке, с возможностью отмены операции. Но раз считаешь, что за тобой последнее слово, то ОК - пили сам.

Parasite
Похоже, я не смогу реализовать эту хотелку. Сорри, дальше разбирайся с vdemidov-ым.
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 568 раз.

Re: Разбивка выделения при закачке на части

Сообщение Parasite » 30 апр 2016, 04:53

zed писал(а):В общем, всё решаемо.

Вот и я отталкиваюсь именно от этого же.

zed писал(а):ты просишь, может быть полезно только одному тебе

Ошибаешься. Даже в моем окружении есть несколько человек, которым данная фишка нужна и важна. Просто они тут не присутствуют по причине своей нерусскоязычности.
Фишка будет интересна всем, кто много\долго качает именно сасом (а таких все же немало. Большинство сасовых юзеров, я бы сказал).

zed писал(а):дальше разбирайся с vdemidov-ым.

Угу.

vdemidov, нам бы все же тут как-нибудь бы поточнее определиться - либо "если этим займется кто-то другой - возражать не буду. Только пусть предупредит"(c), либо ты берешься за выполнение оной самостоятельно (и крайне желательно, чтобы это было не на очередные полгода). Мне совершенно без разницы, кому платить. А то получается ситуация, когда и сам не делаешь - и другим хлопаешь по рукам, не давая даже начать пробовать. У тебя, по твоим словам, совершенно нет времени на реализацию - но, как только тема начинает вырисовываться с другим исполнителем, время прийти в тему и поставить красных флажков ты находишь практически в тот же день - постя буковки вот сюда вот (что по сути есть бесполезная в плане решения данного вопроса активность), а не в сорцы саса. Это как-то неправильно, я считаю. Имхо, либо дай попробовать другим сделать (и там посмотрим, как оно будет - если будет глючно\медленно, то будем решать по ходу появления проблем) - либо найди время и сделай сам сразу так, как надо (без многабукавак вот тут вот). Тащемта бросить, откатить сорцы и забыть, если не будет получаться - мы всегда успеем.

Лично я понимаю вопрос либо как "надо сделать, если уж взялся", либо "я не буду мешать, если делать будут другие" (с его опциональным подвариантом "я со своей стороны помогу чем смогу, если у других возникнут технические трудности"). Третьего не дано. Давай как-нибудь решим тут, по какому конкретно варианту мы пойдем дальше. Если затык в плане технического свойства - то надо написать свои параметры, которым нужно просоответствовать (я не считаю, что zed способен выдать откровенный говнокод и костыли - чай, тоже не первый день ковыряет саса. А если и выдаст - то ему всегда можно указать на это в процессе выполнения хотелки, с примерами "как надо"), если же вопрос в материальном плане - то нужно так и сказать, с указанием желаемого. А пока что у нас вырисовывается ситуация "сам не ам - но и людям не дам". Не форковаться же опять, как было с vasketsov несколько ранее (и, что характерно - у него работают те фичи, которых пока до сих пор нету в сасе. А ведь он тоже сперва предлагал припилить именно к сасу и даже забесплатно, но...что-то пошло не так как планировалось, скажем так).
The only difference between me and a mad man is that I am not mad. /Salvador Dali/
Изображение
Аватара пользователя
Parasite
Администратор
 
Сообщения: 5646
Зарегистрирован: 23 окт 2008, 17:38
Благодарил (а): 124 раз.
Поблагодарили: 512 раз.

Re: Разбивка выделения при закачке на части

Сообщение Parasite » 30 апр 2016, 12:38

2zed: если vdemidov все еще будет резко против - возможно ли сделать всего одну версию саса с запрошенным (без включения фичи в основную ветку)? Когда мне будет нужна фича - я буду юзать ту версию, когда же мне будет нужен перфекционизм исполнения других (но ненужных лично мне) - то я скачаю текущую ночнушку. Хотелка будет исполнена, и соответственно - оплачена. А там, глядишь - может и vdemidov передумает, и ее замерджит. :)
The only difference between me and a mad man is that I am not mad. /Salvador Dali/
Изображение
Аватара пользователя
Parasite
Администратор
 
Сообщения: 5646
Зарегистрирован: 23 окт 2008, 17:38
Благодарил (а): 124 раз.
Поблагодарили: 512 раз.

Re: Разбивка выделения при закачке на части

Сообщение zed » 30 апр 2016, 13:41

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

Re: Разбивка выделения при закачке на части

Сообщение vdemidov » 30 апр 2016, 14:16

Я категорически только против лобового введения дополнительного потока для предрасчета (На самом деле я уже и сам придумал как без него обойтись с минимальными изменениями в итераторах и закачках) И заранее об этом предупредил.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
Аватара пользователя
vdemidov
Гуру
 
Сообщения: 1687
Зарегистрирован: 12 дек 2008, 13:10
Откуда: Киев
Благодарил (а): 191 раз.
Поблагодарили: 157 раз.

Re: Разбивка выделения при закачке на части

Сообщение zed » 30 апр 2016, 14:44

Подозреваю, ты хочешь заставить каждый поток выполнять лишнюю работу, вместо того, чтобы выполнить ее в одном и раздать остальным готовые задания. Этот вариант имеет точно такое же право на жизнь, как и мой. У обоих есть плюсы и минусы. Но ты, очевидно, мой вариант просто решил проигнорировать.
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 568 раз.

Re: Разбивка выделения при закачке на части

Сообщение vdemidov » 30 апр 2016, 16:15

zed писал(а):Подозреваю, ты хочешь заставить каждый поток выполнять лишнюю работу, вместо того, чтобы выполнить ее в одном и раздать остальным готовые задания. Этот вариант имеет точно такое же право на жизнь, как и мой. У обоих есть плюсы и минусы. Но ты, очевидно, мой вариант просто решил проигнорировать.

Объем дополнительной работы после перехода на алгоритм с логарифмической сложностью будет незначительным, а сложности от дополнительного потока с раздачей заданий будут большими и неоправданными.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
Аватара пользователя
vdemidov
Гуру
 
Сообщения: 1687
Зарегистрирован: 12 дек 2008, 13:10
Откуда: Киев
Благодарил (а): 191 раз.
Поблагодарили: 157 раз.

Пред.След.

Вернуться в Внеочередное исполнение хотелок

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

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