воскресенье, 23 августа 2009 г.

FlylinkDC++ r391 beta12

* SQLite: оптимизация работы с базой
* SQLite: добавил возможность отключения хранения журнала в памяти
* 391-beta12
* исправлено периодическое "залипание" значка в трее на состоянии у вас ЛС (с конвертиком и не мигая)

SetupFlylinkDC-r391-beta12-build-2516.exe

FlylinkDC-r391-beta12-build-2516(23-Aug-2009_08_22).zip
FlylinkDC-r391-beta12-x64-build-2516(23-Aug-2009_08_30).zip
FlylinkDC-r391-src-beta12-build-2516(23-Aug-2009_08_23).zip

51 комментарий:

Анонимный комментирует...

Добавил поверх 10 беты х64, есть все основания подозревать что ограничение скорости стало кривее работать. В 10 бете с 7000 он 5-6мб ограничивал, а сейчас ~2. Ограничение снимаю 10-11мб ессно.
http://pic.ipicture.ru/uploads/090823/etu22fqa5y.png

Анонимный комментирует...

и что интересно, задаю 80000к он ограничивает 10мб тобишь вообще не ограничивает, а если 8000к то ~2мб, фигня какая-то.

Анонимный комментирует...

Вообще должен извинится, вернул 10 бету х64 (предварительно забэкапив её рарчиком) и она тоже ~2мб при 7000к ограничении выдает, но при съеме ораничения те же 10мб. Может локальный и инет трафик ... (

Анонимный комментирует...

ничего что прям 4 комента сразу ), вот скин 10 беты вроде чуток поболее пропускает с лимитом
http://pic.ipicture.ru/uploads/090823/aU4q6pT7nA.png
с настройками на всякий пожарный

Анонимный комментирует...

добавил возможность отключения хранения журнала в памяти
что это значит, и что дает пользователю?

Анонимный комментирует...

Перестал сохронять конфигурацию при закрытии проги

Анонимный комментирует...

>> добавил возможность отключения хранения журнала в памяти
что это значит, и что дает пользователю?

быстрее работать будет. но при зависании/креше есть шанс, что база данных помрёт

Анонимный комментирует...

Хорошо бы расширить IPGuard макросами - 'RU','ближнее зарубежье','дальнее зарубежье','третий мир'. Тогда можно будет меньше волноваться о ситуации - приезжаешь в Чехию (евросоюз) и вдруг попадаешь к дяде сэму на расправу за расшаривание в прошлые годы.

L. комментирует...

добавил возможность отключения хранения журнала в памяти
что это значит, и что дает пользователю?


устраняет возможные проблемы с базой, т.е. файл журнала сохраняется на диск и если программа или операционка повиснет или упадёт, то баз ане пострадает… но при этом сильно падает скорость ЗАПИСИ в базу. По сему такой вопрос: по умолчанию её требуется включить или выключить?

L. комментирует...

ps: простите сумбурно написал, перефразирую: что важнее скорость или надёжность?

Анонимный комментирует...

важнее правильно выбранный компромисс между надежностью и потерей в скорости )

L. комментирует...

правильно выбранный компромис есть уже сейчас :) но есть одна опция которая многократно увеличивает скорость записи в базу, снижает нагрузку на жёсткий диск, но в тоже время портит данные или убивает структуру таблиц в случае какого либо программно-аппаратного сбоя.

Анонимный комментирует...

может сделать автоматическое определение, в зависимости от процессора? (например, если доступен кэш второго уровня и скорость процессора => 2.2Ghz, то включается повышение стабильности, т.к. производительность и так присутствует... и наоборот)

Анонимный комментирует...

но в тоже время портит данные или убивает структуру таблиц в случае какого либо программно-аппаратного сбоя.
а нельзя ли сделать так, чтобы база автоматически сохранялась (и перезаписывалась) каждые X минут в другое место, и в случае повреждения основной базы, делалось восстановление из резервной

Анонимный комментирует...

MainFrm.cpp

имеется::::::
TBBUTTON nTB = {0};
nTB.fsState = TBSTATE_ENABLED;

for(StringList::const_iterator k = l.begin(); k != l.end(); ++k) {
int i=Util::toInt(*k);

if((i == INT_MAX) || (i == -1)) {
nTB.fsStyle = TBSTYLE_SEP;
} else {
nTB.iBitmap = ToolbarButtons[i].image;
nTB.idCommand = ToolbarButtons[i].id;
nTB.fsStyle = ((ToolbarButtons[i].check == true)? TBSTYLE_CHECK : TBSTYLE_BUTTON);
nTB.iString = ctrlToolbar.AddStrings(CTSTRING_I((ResourceManager::Strings)ToolbarButtons[i].tooltip));
}
ctrlToolbar.AddButtons(1, &nTB);}


должно быть:::::
TBBUTTON nTB;
for(StringList::const_iterator k = l.begin(); k != l.end(); ++k) {
int i=Util::toInt(*k);
memzero(&nTB, sizeof(TBBUTTON));
if((i == INT_MAX) || (i == -1)) {
nTB.fsStyle = TBSTYLE_SEP;
} else {
nTB.iBitmap = ToolbarButtons[i].image;
nTB.idCommand = ToolbarButtons[i].id;
nTB.fsState = TBSTATE_ENABLED;
nTB.fsStyle = ((ToolbarButtons[i].check == true)? TBSTYLE_CHECK : TBSTYLE_BUTTON);
nTB.iString = ctrlToolbar.AddStrings(CTSTRING_I((ResourceManager::Strings)ToolbarButtons[i].tooltip));
}
ctrlToolbar.AddButtons(1, &nTB);}

Исправляет неравномерность в тулбаре....
Видимо установленные ранее параметры как-то влияют на сепараторы ((

Анонимный комментирует...

строка 512 ))

Анонимный комментирует...

Тоже самое и в тулбаре винампа...

Анонимный комментирует...

После оптимизации окна поиска для нетбуков осталось неиспользованное пустое место http://pic.ipicture.ru/uploads/090823/v62bcoRrhe.jpg. Можно ли его сделать типа этого http://pic.ipicture.ru/uploads/090823/1InwOWeohs.jpg ? Извините за корявый Paint.

Tirael комментирует...

Тестирую флай, у меня очередь скачивания 1500 файлов - 135 Гб. Раньше он у меня стабильно вешался при редактировании очереди скачивания, но после добавления поддержки SSE2 он практически перестал виснуть.

Анонимный комментирует...

По поводу пустого пространства оставшегося от кнопок...
Уважаемый L., еще для бетки 9 писал, что исправил, но видимо забыл закоммитить (

Анонимный комментирует...

Начиная с версии 390 у меня баг с разделением кнопок:
http://www.jpeghost.ru/i/1251039650_306_k8f/01_rjl.png

L. комментирует...

а нельзя ли сделать так, чтобы база автоматически сохранялась (и перезаписывалась) каждые X минут в другое место, и в случае повреждения основной базы, делалось восстановление из резервной
брр, это ещё хуже и медленнее чем журнал на диске…


Tirael
это скорее всего связано не SSE2, а с увеличенным уровнем оптимизации, код стал по шустрее это факт


По поводу пустого пространства в поиске… посмотрел, сразу не разобрался, а потом забыл >_<"

L. комментирует...

jorikello
Oo сурово… у кого так-же? у меня нормально всё

Анонимный комментирует...

Про разделители в тулбаре, я написал выше, как исправить...
Надо структуру описания кнопок обнулять!!!

L. комментирует...

ой)на счёт кода :)
с занулением да, надо каждый раз инициализировать согласен и про Enabled тоже… исправлю сейчас

Анонимный комментирует...

L. пишет...
ой)на счёт кода :)
с занулением да, надо каждый раз инициализировать согласен и про Enabled тоже… исправлю сейчас


Выложите исправленный инсталл или компил здесь! У меня в клиенте уже давно нет первых двух разделителей, хотя в настройках они указаны :(

Анонимный комментирует...

Кнопочку "Восстановить по умолчанию" в настройках Звука поставите? Давно уже прошу :(

И спасибо циферки в Рейтинге :) Теперь то что нужно.

brain-ripper комментирует...

может сделать автоматическое определение, в зависимости от процессора? (например, если доступен кэш второго уровня и скорость процессора => 2.2Ghz, то включается повышение стабильности, т.к. производительность и так присутствует... и наоборот)

Объясните, пожалуйста, каким образом наличие в процессоре кэша второго уровня и тактовая частота >= 2.2Gz повысит скорость записи на жесткий диск?

L. комментирует...

http://code.google.com/p/flylinkdc/source/detail?r=2523 исправил тулбар, а с винамповским всё хорошо, там инициализируется всё нормально)

L. комментирует...

на счёт ограничения скорости:
http://pic.ipicture.ru/uploads/090823/aU4q6pT7nA.png

судя по картинке просто юзеров мало… потому как с одного локального 1,5МБ/с а с остальных по 400кБ/с

L. комментирует...

ps: как не прискорбно но для измерения скорости можно попробывать качать несколько вещей это либо Lost либо Naruto ну или более широкий спектр в виде "Порно" ^___^'''

Анонимный комментирует...

После обновлений, слетают параметры "добавленного" портала! В этом направлении будут какие-либо изменения?

Вот предложение:
В папке PortalBrowser не хранить общий файл настроек, раскидать файлы xml по папкам с графикой. Тоесть - одна папка = один портал.
Считывать в папке PortalBrowser наличие папок, читать из каждой файл описания xml

В настройки клиента добавить вкладку "Порталы".
Галку - "Включить порталы".
Список имеющихся порталов. Выбираем, жмем "Настройка", указываем - "Использовать" портал или нет. Таким образом можно отключать ненужные порталы. Либо указать их порядок в списке "Обозреватель Порталов"

brain-ripper комментирует...

После обновлений, слетают параметры "добавленного" портала! В этом направлении будут какие-либо изменения?

При установке Флая инсталлятор запрашивает подтверждение на перезапись файла настроек. Точнее должен запрашивать - фича поломалась, исправим. Возможно добавим какой-то механизм, позволяющий объединять существующий файл и файл из инсталлятора, хотя думаю смысла в этом особо нет: файл в инсталляторе сугубо для примера настроек, пользоваться им имеет смысл, если вы являетесь клиентом сети, для которой представлен портал.


Вот предложение:
В папке PortalBrowser не хранить общий файл настроек, раскидать файлы xml по папкам с графикой. Тоесть - одна папка = один портал.
Считывать в папке PortalBrowser наличие папок, читать из каждой файл описания xml

Нет, не очень красивое решение.

В настройки клиента добавить вкладку "Порталы".
Галку - "Включить порталы".
Список имеющихся порталов. Выбираем, жмем "Настройка", указываем - "Использовать" портал или нет. Таким образом можно отключать ненужные порталы. Либо указать их порядок в списке "Обозреватель Порталов"

Отключение и порядок порталов - все это можно сделать в XML файле. В перспективе планируется тулза - редактор этого файла + полуавтоматическое добавление нового портала. В настройках Флая будет максимум вызов этой тулзы. Повторюсь - создание тулзы планируется в перспективе.

jSer комментирует...

Да, с баром винампа норма, не досмотрел...
Сори )

Анонимный комментирует...

Реактивный ответ :)
Спасибо, будем ждать тулзу, портал раскручиваем для своей сети: и хабы и портал частные, наш пров "Дом.ру" не особо тянется к клиентам.

L. комментирует...

спасибо вам большое jSer :)

L. комментирует...

Кнопочку "Восстановить по умолчанию" в настройках Звука поставите?

поставим, мая завтра на работу выходит, придёться у компа сидеть постоянно :) вот тогда и начнутся кнопочки, красота и прочее

jSer комментирует...

По поводу пустого места в поиске:
SearchFrm.cpp line 916

имеется::::
// "Hubs"
rc.left = lMargin;
rc.right = width - rMargin;
rc.top += spacing-10;
rc.bottom = rc.top + comboH;
if (rc.bottom + labelH + 21 > rect.bottom) {
rc.bottom = rect.bottom - labelH - 21;
if (rc.bottom < rc.top + (labelH*3)/2)
rc.bottom = rc.top + (labelH*3)/2;}

должно быть::::
// "Hubs"
rc.left = lMargin;
rc.right = width - rMargin;
rc.top += spacing-10;
rc.bottom = rect.bottom - 5;
if (rc.bottom < rc.top + (labelH*3)/2)
rc.bottom = rc.top + (labelH*3)/2;


)))

L. комментирует...

jSer

спасибо :) у меня к вам предложение: присоединяйтесь к команде ;)

jSer комментирует...

)))
Я давно не программировал...
Плохо разбираюсь во флае и визуале...
и т.д. и т.п.....

если надо пишите )))

L. комментирует...

jSer
если надо пишите )))

зато код хорошо проверяете :) про присоединяйтесь имею ввиду, напишите Павлу, он доступ на запись даст.
К тому же "давно не программировал" и не знаете флай - это хорошо :) у вас не будет предвзятого отношения к коду.

Анонимный комментирует...

Здравствуйте. Пользуюсь флаем Вашей сборки, регулярно его обновляю, с 391 beta9 проблем нет, с 10 по 12 бету при запуске приложения выдает ошибку: "Приложению не удалось запуститься поскольку dbgeng.dll не был найден. Повторная установка приложения может исправить эту проблему." Только повторная установка проблемы не устраняет. пытался ставить и бинарник и установщиком. Юзаю версию для семейства 86х.

brain-ripper комментирует...

"Приложению не удалось запуститься поскольку dbgeng.dll не был найден. Повторная установка приложения может исправить эту проблему."
Это файл операционной системы, непонятно куда он у вас делся. Взять можно из дистрибутива вашей ОС - WDBGENG.DLL или WDBGENG.DL_ (последний надо распаковать) и положить в Windows\System32 (для x86 ОС).
Флаем используется для генерации дампов.

brain-ripper комментирует...

Ой, кажется ошибся в имени файла. У вас точно dbgeng.dll, а не wdbgeng.dll?

brain-ripper комментирует...

а, нет, все правильно, нашел в дистрибе Windows и такой файл - DBGENG.DLL (без W)

brain-ripper комментирует...

Вообще-то странная ошибка. Флай загружает библиотеку отладки динамически и прямых ссылок на нее нет, следовательно он не может быть причиной возникновения ошибки. Возможно дело в каком-нибудь фаерволе или антивирусе. А версия beta9 именно сейчас работает, когда beta12 вызывает ошибку?

Анонимный комментирует...

Объясните, пожалуйста, каким образом наличие в процессоре кэша второго уровня и тактовая частота >= 2.2Gz повысит скорость записи на жесткий диск?
незнаю :-D по фразе "что важнее скорость или надёжность?" я посчитал, что имеется ввиду общая производительность, а не скорость записи/чтения

jSer комментирует...

Там теперь дважды одно действие )) я про поиск...

brain-ripper комментирует...

по фразе "что важнее скорость или надёжность?" я посчитал, что имеется ввиду общая производительность, а не скорость записи/чтения
наглядный пример того, как фраза, вырванная из контекста искажает общий смысл :)
в данном конкретном случае прирост скорости происходит из-за того, что некие данные не скидываются на жесткий диск, а находятся в памяти, понижая тем самым отказоустойчивость. Общая производительность таким образом может значительно увеличиться, т.к. жесткие диски, не смотря на постоянную эволюцию, все еще остаются самым медленным компонентом системного блока, по сравнению с памятью и процессором.

Анонимный комментирует...

"А версия beta9 именно сейчас работает, когда beta12 вызывает ошибку?"

версия beta 9 работает без проблем,а все остальные не запускаются, приходится каждый раз на девятую откатываться

brain-ripper комментирует...

версия beta 9 работает без проблем,а все остальные не запускаются, приходится каждый раз на девятую откатываться
очень странно. сейчас перепроверил - IAT у обоих фалов, бета 9 и 12 - одинаковые...
А DBGENG.DLL действительно отсутствует в System32? Если отсутствует - не помогает восстановление его из дистрибутива Windows?