![]() |
Что показывает System.totalMemory?
Существует следующая система:
Клиентская программа, написанная на C++ создает в себе закладки - ActiveX-броузерные страницы (используется IE), в которые загружается флэш контент. При открытии / закрытии таких табов с флэш-играми система начинает заметно тормозить, и плохо реагировать на элементы управления. При использовании System.totalMemory заметил такую штуку: при открытии одной закладки, показывает занятую память близкую той, что отображается при тестировании в IDE. при открытии же следующего таба System.totalMemory показывает больший объем используемой памяти. Отсюда два варианта: 1. System.totalMemory показывает размер всей области памяти, которую используют все запущенные проигрыватели? 2. IE не убирает мусор за флэш плеером? |
Если я правильно помню, System.totalMemory показывает память, использованную всеми инстанциями плеера в пределах браузера. То есть, у открытых в одном браузере в разных таба флешек будет общее значение totalMemory, у открытых же, к примеру, в FF и IE разное. У всех инстанций standalone-плеера значение totalMemory свое.
|
Dimonte, выполняемые в одном процессе точнее, а не инстансами плэйера.
|
Нет, системой табов управляет С++ клиент, где каждый таб - это отдельный IE, в который загружается флэш-контент; не думаю, что это один процесс, хотя пути Windows не исповедимы :)
|
Флешу в таком случае выделяется один кусок памяти на все ActiveX-контролы.
Но вообще говоря, распределение памяти зависит от системы. В Mac OS X, например, каждый плеер сам по себе. |
Так если у вас клиент открывает IE в себе, то получается, что все эти открытые IE - часть одного windows-процесса, и флеш-плагин инициализируется один раз. Могу быть не прав, давно вглубь win-архитектуры не приходилось заглядывать.
Думаю, можно это довольно просто определить, запустив какой-нибудь внешний процесс-менеджер. Скорее всего, не будет на каждый ваш таб создаваться новый процесс IE. |
Ну, в "корне" каждое приложение - это один процесс, который затем дробится на новые процессы и нити, так что я думаю - по итогу процессы эти - порождение одного и имеют одну точку доступа. Меня как раз больше беспокоит выделение адресного пространства на все флэш-плеера, спасибо, __etc
|
| Часовой пояс GMT +4, время: 15:32. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.