Разбивка выделения при закачке на части
Правила форума
Настоятельно рекомендуем ознакомиться с правилами раздела платных услуг ТУТ.
Настоятельно рекомендуем ознакомиться с правилами раздела платных услуг ТУТ.
-
zed
- Гуру
- Сообщения: 2888
- Зарегистрирован: 16 авг 2008, 20:21
- Благодарил (а): 89 раз
- Поблагодарили: 568 раз
Re: Разбивка выделения при закачке на части
Не понимаю, как такое разбиение позволит гарантированно разделить область на равные части по количеству тайлов.
- vdemidov
- Гуру
- Сообщения: 1687
- Зарегистрирован: 12 дек 2008, 13:10
- Откуда: Киев
- Благодарил (а): 191 раз
- Поблагодарили: 157 раз
Re: Разбивка выделения при закачке на части
Не разбить, а найти колонку, в которой будет начало.
Сначала считаем общее количество тайлов.
Потом вычисляем количество тайлов с которого начинать перебор.
По сути опять начинаем подсчет тайлов, но разбивая только по горизонтали, чтобы найти колонку в котором находится начальный тайл.
Но я уже написал, что мне больше нравится построение набора прямоугольников тайлов.
Сначала считаем общее количество тайлов.
Потом вычисляем количество тайлов с которого начинать перебор.
По сути опять начинаем подсчет тайлов, но разбивая только по горизонтали, чтобы найти колонку в котором находится начальный тайл.
Но я уже написал, что мне больше нравится построение набора прямоугольников тайлов.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
- Papazol
- Гуру
- Сообщения: 2069
- Зарегистрирован: 04 дек 2009, 01:39
- Откуда: Рязань
- Благодарил (а): 73 раза
- Поблагодарили: 647 раз
Re: Разбивка выделения при закачке на части
Я готов присоединиться деньгами.
Хотелка очень нужная, даже при скачивании небольших выделенных областей. Поскольку начало беседы я прощёлкал, а теперь уже идёт разговор за алгоритмы, то мне метод реализации хотелки не важен, я "за всё хорошее и против всего плохого".
Хотелка очень нужная, даже при скачивании небольших выделенных областей. Поскольку начало беседы я прощёлкал, а теперь уже идёт разговор за алгоритмы, то мне метод реализации хотелки не важен, я "за всё хорошее и против всего плохого".
- vdemidov
- Гуру
- Сообщения: 1687
- Зарегистрирован: 12 дек 2008, 13:10
- Откуда: Киев
- Благодарил (а): 191 раз
- Поблагодарили: 157 раз
Re: Разбивка выделения при закачке на части
Если не заморачиваться пока с быстрыми алгоритмами подсчета тайлов и выбора стартового тайла, то там ничего сложного. Просто нужно пару часов времени, когда тебя не отвлекают каждые пару минут, а с этим проблемы при наличии грудного ребенка и его мамы которой апендицит вырезали. Максимум что могу - побыстрому заглянуть в форум и багтрекет.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
-
zed
- Гуру
- Сообщения: 2888
- Зарегистрирован: 16 авг 2008, 20:21
- Благодарил (а): 89 раз
- Поблагодарили: 568 раз
Re: Разбивка выделения при закачке на части
Если бы ты меня тогда не остановил, вариант с доп. потоком уже работал бы и приносил людям радость. А так, все будут ждать, пока у тебя появится хотя бы пара часов на примитивную реализацию. Про быстрые алгоритмы, имхо, можно вообще забыть. Это похоже на такую же мантру, как с плагинами.
- Parasite
- Администратор
- Сообщения: 5646
- Зарегистрирован: 23 окт 2008, 17:38
- Благодарил (а): 124 раза
- Поблагодарили: 508 раз
Re: Разбивка выделения при закачке на части
Ну так и какой консенсус-то по всему вот этому вот??
Перфекционизма, как и плагинов - можно ждать долго и потом. А фича нужна вот настолько прямо тут и сейчас, что за нее готовы платить деньги - причем нужна не мне одному.
Имею мнение, что надо сделать "чтобы работало" - а наводить красоту в коде можно и потом, постепенно.
Перфекционизма, как и плагинов - можно ждать долго и потом. А фича нужна вот настолько прямо тут и сейчас, что за нее готовы платить деньги - причем нужна не мне одному.
Имею мнение, что надо сделать "чтобы работало" - а наводить красоту в коде можно и потом, постепенно.
The only difference between me and a mad man is that I am not mad. /Salvador Dali/


- vdemidov
- Гуру
- Сообщения: 1687
- Зарегистрирован: 12 дек 2008, 13:10
- Откуда: Киев
- Благодарил (а): 191 раз
- Поблагодарили: 157 раз
Re: Разбивка выделения при закачке на части
Мое мнение или делать полноценную многопоточную закачку, или просто делать рабивку на части самым простым способом без дополнительных потоков, уже потом допиливать скорость подсчета тайлов в полигоне и выбора стартового тайла.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
- Parasite
- Администратор
- Сообщения: 5646
- Зарегистрирован: 23 окт 2008, 17:38
- Благодарил (а): 124 раза
- Поблагодарили: 508 раз
Re: Разбивка выделения при закачке на части
Это все же не то, что просится в данной хотелке (хотя приведет к тому же результату).vdemidov писал(а):или делать полноценную многопоточную закачку
Как я уже писал выше - в данной конкретной хотелке лично мне (как заказчику оной) важен не конечный результат, а именно что повышение уровня user experience при пользовании собственно процессом работы. То есть, мне нужно качественное повышение уровня работы с сасом (путем добавления инструмента "разбивка выделения при старте закачки", и контролов к оному в виде отдельных окошек закачек каждое со своими логами\параметрами\сохранениями) в процессе кача, а не результаты оного кача (которые я, будем до конца откровенными - и скриптами накачать могу хоть в 100500 потоков, бесплатно, и вот прямо сегодня).
Изменять именно что алгоритм скачки в окошках я не прошу никоим образом - там меня все устраивает. Все, что я прошу - это старт N оных окошек при произвольном выделении к скачке и вбитии оного N где-нибудь в гуе. Многопоточная закачка ничего из этого мне не даст (окромя конечного результата - но хотелка-то не про это).
Будет сие стартовать из отдельного потока, либо из имеющегося сейчас, либо исполнитель будет приходить ко мне и лично стартовать ручками - это мне неважно. Мне важно, чтобы оно работало как запрошено. Но если бы это делал я на своей стороне - то я бы токи да, ввел бы "гипервизора" в виде отдельного потока, кой бы принимал на себя пользовательское выделение и стартовал бы нужные окна согласно переданных параметров. То есть - именно то, что рекомендовал zed. А допиливание\кардинальное изменение имеющегося как раз чревато глюками в других частях САСа и потерей времени на отладку нежданчиков (тогда как свежесозданную часть откатить\запретить\закомментить намного безболезненнее). Имхо.
Так кто делать-то будет? Займись сам, или дай zed'у зеленый свет - хай он припилит, как сумеет (а красоту наведешь потом, как время появится). А то получается, что друг друга ждете - а страдаем мы.vdemidov писал(а):Мое мнение или делать полноценную многопоточную закачку, или просто делать рабивку на части самым простым способом без дополнительных потоков, уже потом допиливать скорость подсчета тайлов в полигоне и выбора стартового тайла.
The only difference between me and a mad man is that I am not mad. /Salvador Dali/


-
zed
- Гуру
- Сообщения: 2888
- Зарегистрирован: 16 авг 2008, 20:21
- Благодарил (а): 89 раз
- Поблагодарили: 568 раз
Re: Разбивка выделения при закачке на части
vdemidov, давай зайдём с другой стороны. Сейчас рабочий поток выполняет как минимум 2 задачи: подготовку итераторов и загрузку тайлов. Давай, вот эту самую подготовку вынесем в отдельный интерфейс TaskBuilder, который будет отдавать потоку готовые итераторы. Так у нас упростится код рабочего потока и там станет немного чище. Далее, предусмотрим в билдере возможность асинхронной подготовки тасков для случая, когда требуется разделить область на несколько частей. Таким образом, весь код будет предельно изолирован.
При асинхронной подготовке тасков, в гуе можно никаких дополнительных окошек не создавать и всё будет выглядить как и сейчас.
При асинхронной подготовке тасков, в гуе можно никаких дополнительных окошек не создавать и всё будет выглядить как и сейчас.
- vdemidov
- Гуру
- Сообщения: 1687
- Зарегистрирован: 12 дек 2008, 13:10
- Откуда: Киев
- Благодарил (а): 191 раз
- Поблагодарили: 157 раз
Re: Разбивка выделения при закачке на части
Зачем? Это значит городить кучу всего.
А еще если сделать так
Я за то что бы все подробности спрятать внутри итератора, и потом его можно будет оптимизировать сколько угодно.
А еще если сделать так
То будет непонятно что задача вообще запустилась и что-то делает.zed писал(а):При асинхронной подготовке тасков, в гуе можно никаких дополнительных окошек не создавать и всё будет выглядить как и сейчас.
Я за то что бы все подробности спрятать внутри итератора, и потом его можно будет оптимизировать сколько угодно.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.