* 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
Подписаться на:
Комментарии к сообщению (Atom)
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','ближнее зарубежье','дальнее зарубежье','третий мир'. Тогда можно будет меньше волноваться о ситуации - приезжаешь в Чехию (евросоюз) и вдруг попадаешь к дяде сэму на расправу за расшаривание в прошлые годы.
добавил возможность отключения хранения журнала в памяти
что это значит, и что дает пользователю?
устраняет возможные проблемы с базой, т.е. файл журнала сохраняется на диск и если программа или операционка повиснет или упадёт, то баз ане пострадает… но при этом сильно падает скорость ЗАПИСИ в базу. По сему такой вопрос: по умолчанию её требуется включить или выключить?
ps: простите сумбурно написал, перефразирую: что важнее скорость или надёжность?
важнее правильно выбранный компромисс между надежностью и потерей в скорости )
правильно выбранный компромис есть уже сейчас :) но есть одна опция которая многократно увеличивает скорость записи в базу, снижает нагрузку на жёсткий диск, но в тоже время портит данные или убивает структуру таблиц в случае какого либо программно-аппаратного сбоя.
может сделать автоматическое определение, в зависимости от процессора? (например, если доступен кэш второго уровня и скорость процессора => 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.
Тестирую флай, у меня очередь скачивания 1500 файлов - 135 Гб. Раньше он у меня стабильно вешался при редактировании очереди скачивания, но после добавления поддержки SSE2 он практически перестал виснуть.
По поводу пустого пространства оставшегося от кнопок...
Уважаемый L., еще для бетки 9 писал, что исправил, но видимо забыл закоммитить (
Начиная с версии 390 у меня баг с разделением кнопок:
http://www.jpeghost.ru/i/1251039650_306_k8f/01_rjl.png
а нельзя ли сделать так, чтобы база автоматически сохранялась (и перезаписывалась) каждые X минут в другое место, и в случае повреждения основной базы, делалось восстановление из резервной
брр, это ещё хуже и медленнее чем журнал на диске…
Tirael
это скорее всего связано не SSE2, а с увеличенным уровнем оптимизации, код стал по шустрее это факт
По поводу пустого пространства в поиске… посмотрел, сразу не разобрался, а потом забыл >_<"
jorikello
Oo сурово… у кого так-же? у меня нормально всё
Про разделители в тулбаре, я написал выше, как исправить...
Надо структуру описания кнопок обнулять!!!
ой)на счёт кода :)
с занулением да, надо каждый раз инициализировать согласен и про Enabled тоже… исправлю сейчас
L. пишет...
ой)на счёт кода :)
с занулением да, надо каждый раз инициализировать согласен и про Enabled тоже… исправлю сейчас
Выложите исправленный инсталл или компил здесь! У меня в клиенте уже давно нет первых двух разделителей, хотя в настройках они указаны :(
Кнопочку "Восстановить по умолчанию" в настройках Звука поставите? Давно уже прошу :(
И спасибо циферки в Рейтинге :) Теперь то что нужно.
может сделать автоматическое определение, в зависимости от процессора? (например, если доступен кэш второго уровня и скорость процессора => 2.2Ghz, то включается повышение стабильности, т.к. производительность и так присутствует... и наоборот)
Объясните, пожалуйста, каким образом наличие в процессоре кэша второго уровня и тактовая частота >= 2.2Gz повысит скорость записи на жесткий диск?
http://code.google.com/p/flylinkdc/source/detail?r=2523 исправил тулбар, а с винамповским всё хорошо, там инициализируется всё нормально)
на счёт ограничения скорости:
http://pic.ipicture.ru/uploads/090823/aU4q6pT7nA.png
судя по картинке просто юзеров мало… потому как с одного локального 1,5МБ/с а с остальных по 400кБ/с
ps: как не прискорбно но для измерения скорости можно попробывать качать несколько вещей это либо Lost либо Naruto ну или более широкий спектр в виде "Порно" ^___^'''
После обновлений, слетают параметры "добавленного" портала! В этом направлении будут какие-либо изменения?
Вот предложение:
В папке PortalBrowser не хранить общий файл настроек, раскидать файлы xml по папкам с графикой. Тоесть - одна папка = один портал.
Считывать в папке PortalBrowser наличие папок, читать из каждой файл описания xml
В настройки клиента добавить вкладку "Порталы".
Галку - "Включить порталы".
Список имеющихся порталов. Выбираем, жмем "Настройка", указываем - "Использовать" портал или нет. Таким образом можно отключать ненужные порталы. Либо указать их порядок в списке "Обозреватель Порталов"
После обновлений, слетают параметры "добавленного" портала! В этом направлении будут какие-либо изменения?
При установке Флая инсталлятор запрашивает подтверждение на перезапись файла настроек. Точнее должен запрашивать - фича поломалась, исправим. Возможно добавим какой-то механизм, позволяющий объединять существующий файл и файл из инсталлятора, хотя думаю смысла в этом особо нет: файл в инсталляторе сугубо для примера настроек, пользоваться им имеет смысл, если вы являетесь клиентом сети, для которой представлен портал.
Вот предложение:
В папке PortalBrowser не хранить общий файл настроек, раскидать файлы xml по папкам с графикой. Тоесть - одна папка = один портал.
Считывать в папке PortalBrowser наличие папок, читать из каждой файл описания xml
Нет, не очень красивое решение.
В настройки клиента добавить вкладку "Порталы".
Галку - "Включить порталы".
Список имеющихся порталов. Выбираем, жмем "Настройка", указываем - "Использовать" портал или нет. Таким образом можно отключать ненужные порталы. Либо указать их порядок в списке "Обозреватель Порталов"
Отключение и порядок порталов - все это можно сделать в XML файле. В перспективе планируется тулза - редактор этого файла + полуавтоматическое добавление нового портала. В настройках Флая будет максимум вызов этой тулзы. Повторюсь - создание тулзы планируется в перспективе.
Да, с баром винампа норма, не досмотрел...
Сори )
Реактивный ответ :)
Спасибо, будем ждать тулзу, портал раскручиваем для своей сети: и хабы и портал частные, наш пров "Дом.ру" не особо тянется к клиентам.
спасибо вам большое 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;
)))
jSer
спасибо :) у меня к вам предложение: присоединяйтесь к команде ;)
)))
Я давно не программировал...
Плохо разбираюсь во флае и визуале...
и т.д. и т.п.....
если надо пишите )))
jSer
если надо пишите )))
зато код хорошо проверяете :) про присоединяйтесь имею ввиду, напишите Павлу, он доступ на запись даст.
К тому же "давно не программировал" и не знаете флай - это хорошо :) у вас не будет предвзятого отношения к коду.
Здравствуйте. Пользуюсь флаем Вашей сборки, регулярно его обновляю, с 391 beta9 проблем нет, с 10 по 12 бету при запуске приложения выдает ошибку: "Приложению не удалось запуститься поскольку dbgeng.dll не был найден. Повторная установка приложения может исправить эту проблему." Только повторная установка проблемы не устраняет. пытался ставить и бинарник и установщиком. Юзаю версию для семейства 86х.
"Приложению не удалось запуститься поскольку dbgeng.dll не был найден. Повторная установка приложения может исправить эту проблему."
Это файл операционной системы, непонятно куда он у вас делся. Взять можно из дистрибутива вашей ОС - WDBGENG.DLL или WDBGENG.DL_ (последний надо распаковать) и положить в Windows\System32 (для x86 ОС).
Флаем используется для генерации дампов.
Ой, кажется ошибся в имени файла. У вас точно dbgeng.dll, а не wdbgeng.dll?
а, нет, все правильно, нашел в дистрибе Windows и такой файл - DBGENG.DLL (без W)
Вообще-то странная ошибка. Флай загружает библиотеку отладки динамически и прямых ссылок на нее нет, следовательно он не может быть причиной возникновения ошибки. Возможно дело в каком-нибудь фаерволе или антивирусе. А версия beta9 именно сейчас работает, когда beta12 вызывает ошибку?
Объясните, пожалуйста, каким образом наличие в процессоре кэша второго уровня и тактовая частота >= 2.2Gz повысит скорость записи на жесткий диск?
незнаю :-D по фразе "что важнее скорость или надёжность?" я посчитал, что имеется ввиду общая производительность, а не скорость записи/чтения
Там теперь дважды одно действие )) я про поиск...
по фразе "что важнее скорость или надёжность?" я посчитал, что имеется ввиду общая производительность, а не скорость записи/чтения
наглядный пример того, как фраза, вырванная из контекста искажает общий смысл :)
в данном конкретном случае прирост скорости происходит из-за того, что некие данные не скидываются на жесткий диск, а находятся в памяти, понижая тем самым отказоустойчивость. Общая производительность таким образом может значительно увеличиться, т.к. жесткие диски, не смотря на постоянную эволюцию, все еще остаются самым медленным компонентом системного блока, по сравнению с памятью и процессором.
"А версия beta9 именно сейчас работает, когда beta12 вызывает ошибку?"
версия beta 9 работает без проблем,а все остальные не запускаются, приходится каждый раз на девятую откатываться
версия beta 9 работает без проблем,а все остальные не запускаются, приходится каждый раз на девятую откатываться
очень странно. сейчас перепроверил - IAT у обоих фалов, бета 9 и 12 - одинаковые...
А DBGENG.DLL действительно отсутствует в System32? Если отсутствует - не помогает восстановление его из дистрибутива Windows?
Отправить комментарий