Память

Discussion in 'Общие вопросы по AdGuard для Windows' started by jus, Jan 17, 2011.

  1. jus

    jus Юрий

    Joined:
    Dec 16, 2010
    Messages:
    440
    Уважаемые разработчики, можете подробнее разъяснить, почему процесс AdBlock.Agent.exe занимает довольно много памяти? 40 Мб во время запуска и выше, по мере работы :confused:
    Для моего, непрофессионального, взгляда, это очень интересно, особенно когда инетом вообще непользуешься, а ресурсы расходуются :)
     
  2. avatar

    avatar Administrator Staff Member Administrator

    Joined:
    Oct 26, 2010
    Messages:
    12,932
    Ну вообщем, рассказываю все с точки зрения разработчика.

    Во-первых немного лирики. Я так думаю, что диспетчер задач нужно вообще с корнем вырвать из Windows:). Вот хорошая статья в тему http://habrahabr.ru/blogs/Old_New_Thing/109603/

    Во-вторых, об используемой памяти. У нас, на самом деле, были в свое время страшные споры, ужимать ли память или нет. Занимает она сейчас столько из-за фильтров. В списке правил сейчас порядка 12 тысяч. Но они в памяти живут не просто в виде списка строчек. По ним строятся специальные индексы, которые ускоряют поиск нужного правила в разы.
    Если индексы убрать, потребление памяти уменьшится раза в два, но и скорость фильтрации ощутимо уменьшится. В итоге из двух зол выбрали меньшее - пожертвовали памятью ради скорости.
     
  3. jus

    jus Юрий

    Joined:
    Dec 16, 2010
    Messages:
    440
    Я так понимаю, фильтры работают, когда работает программа, тоесть всегда, без прерывно. Можно ли сделать чтоб они отключались, переводилась программа в тихий режим, когда не пользуешься браузером?
    То есть сделать программу еще умнее :) Вот работает она спокойно, не кому не мешает, память особо не занимает...тут пользователь открывает браузер, ага, значит необходимо включать фильтры, будем лазить по сайтам. Полазили, браузер закрыли, программа отключает фильтры...переходит в режим ожидания.
    Может это и глупо выглядит, но зато рациональное использование ресурсов компа (пускай хоть эти фильтры и 100 Мб зажрут, как вон браузер, но зато с умом, когда действительно это необходимо) :)
     
  4. avatar

    avatar Administrator Staff Member Administrator

    Joined:
    Oct 26, 2010
    Messages:
    12,932
    Тогда каждый первый запрос после выгрузки будет тормозить. На мой взгляд это не очень приятно.

    А что, памяти совсем не хватает?
     
  5. vvgNovanet

    vvgNovanet Moderator Moderator

    Joined:
    Nov 9, 2010
    Messages:
    4,569
    В данном случае разумно её просто выключить, а когда нужно включить.
    хотя это не рационально.
     
  6. jus

    jus Юрий

    Joined:
    Dec 16, 2010
    Messages:
    440
    Все возможно, торможения, подвисания, ухудшат работу программы, да и медлительнее наверно станет..вы правы!:)

    Лично у меня ее хватает :) Просто интересно было узнать, вроди в инете не сижу, программа можно сказать не работает, а за чем то ресурсы ест :) Это любопытный факт, а как оказалось, все дело в фильтрах, спасибо за разъяснение! :)
     
  7. vvgNovanet

    vvgNovanet Moderator Moderator

    Joined:
    Nov 9, 2010
    Messages:
    4,569
    При выключении защиты можно выгружать процесс
    при включении можно снова запускать.
    на данный момент процесс при выключении защиты продолжает работать
     
    Last edited by a moderator: Jan 18, 2011
  8. jus

    jus Юрий

    Joined:
    Dec 16, 2010
    Messages:
    440
    как для меня, это даже очень не рационально...посещения по инету у меня довольно часты, замучаешься включать и выключать :) да и включаеться она не моментально :rolleyes:
     
  9. avatar

    avatar Administrator Staff Member Administrator

    Joined:
    Oct 26, 2010
    Messages:
    12,932
    Если выгрузить процесс - то включать защиту будет негде:).
    При выключении защиты можно выгрузить фильтры, это да. Правда тогда включаться/выключаться будет по несколько секунд.
     
  10. vvgNovanet

    vvgNovanet Moderator Moderator

    Joined:
    Nov 9, 2010
    Messages:
    4,569
    Не так выразился.
    А по времени это сколько будет?
    Если 1-2 сек то это думаю нормально . Хотя кому как. И у кого какой комп.(по производительности)
     
  11. avatar

    avatar Administrator Staff Member Administrator

    Joined:
    Oct 26, 2010
    Messages:
    12,932
    Я вот сейчас поразмыслил и кое-что вспомнил, а попробуйте выключить защиту и подождать минут 5. Если я ничего не путаю, сейчас фильтры выгружаются. Посмотрите, сильно ли упадет память.

    --
    Сейчас у себя проверил. Падает до 28Мб. Ниже уже не упадет к сожалению.
     
    Last edited by a moderator: Jan 18, 2011
  12. vvgNovanet

    vvgNovanet Moderator Moderator

    Joined:
    Nov 9, 2010
    Messages:
    4,569
    Можно действительно сделать выгрузку фильтров по времени.
    Не пользуешся инетом к примеру минут 5 защита выключается фильтра выгружаються
    полез включилась,загрузилась.

    было 46 сейчас 43 включил прыкнуло до 67 сейчас 42
    [​IMG]
    меньше 40 не опускалось
     
    Last edited by a moderator: Jan 18, 2011
  13. avatar

    avatar Administrator Staff Member Administrator

    Joined:
    Oct 26, 2010
    Messages:
    12,932
    Говорили выше об этом. Тогда будет тормозить первый запрос.
     
  14. Fantom

    Fantom Beta Tester

    Joined:
    Dec 12, 2010
    Messages:
    1,335
    У меня реально падает.
    [​IMG]
    [​IMG]
     
  15. vvgNovanet

    vvgNovanet Moderator Moderator

    Joined:
    Nov 9, 2010
    Messages:
    4,569
    Может дело в операционках или в их настройке.
    ждал 10 минут результатов - 0
     
    Last edited by a moderator: Jan 18, 2011
  16. avatar

    avatar Administrator Staff Member Administrator

    Joined:
    Oct 26, 2010
    Messages:
    12,932
    Странно как. Видимо когда окошко свернуто - со временем оно выгружается из памяти. Правда у меня такое поведение не повторяется почему-то.

    А какая у вас версия .NET и системы?
     
  17. jus

    jus Юрий

    Joined:
    Dec 16, 2010
    Messages:
    440
    Вообщем как и у vvgNovanet резульатата 0. С 59 Мб через 1 мин, после выключения защиты, упала память до 55..включил защиту - скакнуло до 71 Мб
     
  18. jus

    jus Юрий

    Joined:
    Dec 16, 2010
    Messages:
    440
    Выключал защиту при свернутом окне, толку 0 :)
     
  19. Fantom

    Fantom Beta Tester

    Joined:
    Dec 12, 2010
    Messages:
    1,335
    [​IMG]

    Сейчас попробую повторить с развёрнутым окном.
     
  20. avatar

    avatar Administrator Staff Member Administrator

    Joined:
    Oct 26, 2010
    Messages:
    12,932
    В следующем релизе сделаю так, чтобы память освобождалась сразу после выключения защиты - сейчас нужно ждать несколько минут.

    А вот насчет поведения как у Fantom - для меня пока загадка как это происходит:).