Столько занимает памяти каждый плагины

Список разделов foobar2000 Плагины

Описание: Все о плагинах, компонентах, расширениях

Сообщение #1 cka3o4h1k » 29.03.2007, 20:38

Здравствуй сообщество.

И я решился сделать свою сборку. Но когда добавил все интересующие меня плагины и посмотрел сколько фубар начал занимать памяти был удивлён и озадачен. 36 мегабайт! Когда голый всего-то 8,6...

Вот и занялся я почти бесполезной работой. Устанавливал плагин, запускал фубар и в деспечере задач смотрел сколько памяти на этот плаг ушло (методом отнимания от предыдущего состояния). Я уверен что данная информация достаточно приблизительна, но рисует в целом картину о прожорливости плагов.

Целомудренная инсталяция 8,600

Плагины Колумнса:
foo_ui_columns.dll +100
foo_browser.dll + 150
foo_fullscreen.dll + 60
foo_playlist_tree.dll + 3,800
foo_uie_albumart.dll + 1,600
foo_uie_albumlist.dll + 230
foo_uie_bookmarks.dll + 350
foo_uie_explorer.dll + 2,200
foo_uie_wsh_panel.dll + 100
foo_uie_trackinfo_mod.dll + 888
foo_uie_tabs.dll + 150
foo_uie_single_column_playlist.dll + 200
foo_uie_quicksearch.dll + 80
foo_uie_lyrics.dll + 500
foo_uie_playlists_dropdown.dll + 170
foo_uie_queuemanager.dll + 5,700

Далее некоторые остальные:
foo_whatsnew.dll + 100
foo_controlserver.dll + 800
foo_audioscrobbler.dll + 380
foo_bitcompare.dll + 150
foo_version.dll + 270
foo_run.dll + 200
foo_random.dll + 240
foo_playcount.dll + 300
foo_out_ks.dll + 270
foo_navigator.dll + 230
foo_midi.dll + 180
foo_input_monkey.dll + 260
foo_infobox.dll + 260
foo_dts.dll + 220
foo_utils.dll + 250
foo_ac3.dll + 200
foo_autoplaylist.dll + 180
foo_cleartype.dll + 370
foo_custominfo.dll + 400
foo_dsp_crossfeed.dll + 160
foo_dsp_ssrc.dll + 150

Надеюсь эта информация кому-то пригодиться...
cka3o4h1k
Автор темы
Репутация: 1
С нами: 17 лет 11 месяцев

Сообщение #2 Elzor » 29.03.2007, 20:43

1. Виндовый менеджер задач не дает верной картины.
2. Я надеюсь своп ты тоже смотрел?
Elzor M
Аватара
Откуда: г. Орск
Репутация: 0
С нами: 18 лет 6 месяцев

Сообщение #3 skipyrich » 29.03.2007, 20:50

2Elzor: +1
skipyrich M
Откуда: Москва
Репутация: 11
С нами: 18 лет 6 месяцев

Сообщение #4 pois22ple » 29.03.2007, 20:56

А программу Starter не  пробовал. Показывает все, что работает, а также все что стартует автозапуском. При этом совешенно бесплатная.
Найдешь на сайте http://codestuff.mirrorz.com/
Последний раз редактировалось pois22ple 29.03.2007, 20:58, всего редактировалось 1 раз.
pois22ple
Репутация: 10
С нами: 18 лет 3 месяца

Сообщение #5 cka3o4h1k » 29.03.2007, 21:04

1. Виндовый менеджер задач не дает верной картины.
2. Я надеюсь своп ты тоже смотрел?
1. Он дает приблизительную картину. По крайней мере я вычислил самых жадных и оптимизированых.
2. Своп был специально отключен. Да и думаю при старте фубар не успевает грузиться в своп. Зачем?

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

(pois22ple - за компом я десяток лет и перепробовал софта много. знаю это прогу и спасибо)
cka3o4h1k
Автор темы
Репутация: 1
С нами: 17 лет 11 месяцев

Сообщение #6 skipyrich » 29.03.2007, 21:08

Если нужно узнать инфу о процессах, то лучше Process Explorer-а пока еще ничего не придумали.

2cka3o4h1ik: если бы всё было так просто... :)
skipyrich M
Откуда: Москва
Репутация: 11
С нами: 18 лет 6 месяцев

Сообщение #7 cka3o4h1k » 29.03.2007, 21:15

2skipyrich
Я всегда в надежде на простоту в которую так и норовлю вступить... )

И эту программу знаю Сисинтерналс рулит...
cka3o4h1k
Автор темы
Репутация: 1
С нами: 17 лет 11 месяцев

Сообщение #8 cka3o4h1k » 29.03.2007, 21:19

Приношу извинения за созданую тему.
cka3o4h1k
Автор темы
Репутация: 1
С нами: 17 лет 11 месяцев

Сообщение #9 skipyrich » 29.03.2007, 21:24

ну вот... обиделся... :(
skipyrich M
Откуда: Москва
Репутация: 11
С нами: 18 лет 6 месяцев

Сообщение #10 cka3o4h1k » 29.03.2007, 21:35

да нет :(
просто я немножко не здоров и не эфективен...
cka3o4h1k
Автор темы
Репутация: 1
С нами: 17 лет 11 месяцев

Сообщение #11 skipyrich » 29.03.2007, 22:01

Выздоравливай!
А я тут накидал небольшой опус для поднятия настроения :)
Начнём-с :)

К сожалению, как-то оптимизировать потребление памяти/процессора фубаром и его плагинами возможно только методом отказа от какой-то функциональности. Поэтому заниматься такой оптимизацией особого смысла нет.

Однако есть местечко, где можно приложить свой недюжинный ум хардкорного оптимизатора! :)
Предыстория:
Системный загрузчик windows, загружая библиотеку, смотрит на базовый адрес модуля, и пытается расположить его в памяти именно по этому адресу. Если это место уже занято чем-то другим, то по таблице релокаций в библиотеке подправляются адреса, и библиотека переносится в другое место. По умолчанию, библиотеки имеют базовый адрес 0x10000000, и все плагины подвергаются обработке при старте программы, что несколько замедляет запуск. (Process Explorer выделяет перебазированные во время старта модули желтым цветом.)

А что мы можем этому противопоставить:
Есть маленькая программка, зовётся ReBase (в аттаче). Если запустить её в папке с плагинами, то она автоматически расчитает и установит базовые адреса, и загрузчику больше не придётся выполнять лишнюю работу.

Итак, приступим!
Запускаем фубар и Process Explorer. В списке процессов выделяем foobar2000.exe.
В Process Explorer включаем просмотр модулей - меню View -> Lower Pane View -> DLLs.
Жмакаем правомышием на заголовке "Lower Pane" и выбираем Select Columns.
На закладке DLLs отмечаем Base Address и Image Base Address. OK.
Сортируем по Base.
Ищем где начинается относительно большой участок свободного места в памяти. В моём случае он начинался с адреса 0x11800000.
Можно закрывать фубар и process explorer.
Теперь запускаем командную строку и пишем:

cd "c:\program files\foobar2000\components"
"c:\temp\ReBase.exe" -b 0x11800000 *.dll

Выделенное курсивом нужно соответственно изменить для вашей системы.

Теперь, опять запускаем фубар, смотрим на то как расположились модули в памяти, и радуемся, что тысчонку-другую тактов процессора нам таки удалось сэкономить! :)
Вложения
ReBase.zip
(14.54 КБ) Скачиваний: 547
skipyrich M
Откуда: Москва
Репутация: 11
С нами: 18 лет 6 месяцев

Сообщение #12 cka3o4h1k » 29.03.2007, 22:34

Выздороветь не получиться, но огромное спасибо... такое радушие и доброта...

Оптимизатор работает, прекрасная идея! Всем советую... На глаз имхо фубар загружаеться быстрее... :)
cka3o4h1k
Автор темы
Репутация: 1
С нами: 17 лет 11 месяцев

Сообщение #13 sanb » 29.03.2007, 22:41

skipyrich:Если нужно узнать инфу о процессах, то лучше Process Explorer-а пока еще ничего не придумали.

А как на счет TaskInfo :)
sanb
Репутация: 0
С нами: 18 лет 2 месяца

Сообщение #14 skipyrich » 30.03.2007, 02:04

Когда-то пользовался, но потом она стала платной, и я нашел Process Explorer, и про существование TaskInfo забыл.
skipyrich M
Откуда: Москва
Репутация: 11
С нами: 18 лет 6 месяцев

Сообщение #15 evil » 30.03.2007, 17:38

skipyrich:Ищем где начинается относительно большой участок свободного места в памяти.
Как это определить, куда смотреть? И как долго этот фокус работает?
Последний раз редактировалось evil 30.03.2007, 17:41, всего редактировалось 1 раз.
evil M
Репутация: 67
С нами: 18 лет 6 месяцев

Сообщение #16 Russell777 » 30.03.2007, 19:06

skipyrich,ты крут!+1
Russell777 M
Откуда: Беер Шева
Репутация: 3
С нами: 18 лет 5 месяцев

Сообщение #17 skipyrich » 30.03.2007, 20:26

evil:
skipyrich:Ищем где начинается относительно большой участок свободного места в памяти.
Как это определить, куда смотреть?
По колонке Base.

evil:И как долго этот фокус работает?
Этот фокус работает до того момента как ты перезапишешь плагины. Советую еще раз перечитать "Предысторию" для вящего понимания процесса.
skipyrich M
Откуда: Москва
Репутация: 11
С нами: 18 лет 6 месяцев

Сообщение #18 evil » 30.03.2007, 20:41

2skipyrich, тогда так задам вопрос: как по колонке Base и цифрам, которые показаны в ней понять где начинается относительно большой участок свободного места в памяти?  :-[
evil M
Репутация: 67
С нами: 18 лет 6 месяцев

Сообщение #19 skipyrich » 30.03.2007, 20:57

Где больше разница между базовыми адресами. Больше я не знаю как объяснить...
skipyrich M
Откуда: Москва
Репутация: 11
С нами: 18 лет 6 месяцев

Сообщение #20 evil » 30.03.2007, 22:41

Провел небольшой эксперимент. Удалил большое количество dll. Было 75 штук, стало 46. Памяти было 33, стало 28. Посмотрел в первом топике, какой из плагинов самый тяжелый из тех, что у меня есть и удалил после ещё и его (foo_playlist_tree.dll). Стало 23 мегабайта.
evil M
Репутация: 67
С нами: 18 лет 6 месяцев

След.

Вернуться в Плагины