Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Что показывает System.totalMemory? (http://www.flasher.ru/forum/showthread.php?t=123314)

litebox 30.03.2009 16:03

Что показывает System.totalMemory?
 
Существует следующая система:
Клиентская программа, написанная на C++ создает в себе закладки - ActiveX-броузерные страницы (используется IE), в которые загружается флэш контент.
При открытии / закрытии таких табов с флэш-играми система начинает заметно тормозить, и плохо реагировать на элементы управления.
При использовании System.totalMemory заметил такую штуку:
при открытии одной закладки, показывает занятую память близкую той, что отображается при тестировании в IDE.
при открытии же следующего таба System.totalMemory показывает больший объем используемой памяти.
Отсюда два варианта:
1. System.totalMemory показывает размер всей области памяти, которую используют все запущенные проигрыватели?
2. IE не убирает мусор за флэш плеером?

Dimonte 30.03.2009 16:11

Если я правильно помню, System.totalMemory показывает память, использованную всеми инстанциями плеера в пределах браузера. То есть, у открытых в одном браузере в разных таба флешек будет общее значение totalMemory, у открытых же, к примеру, в FF и IE разное. У всех инстанций standalone-плеера значение totalMemory свое.

BlooDHounD 30.03.2009 16:24

Dimonte, выполняемые в одном процессе точнее, а не инстансами плэйера.

litebox 30.03.2009 18:35

Нет, системой табов управляет С++ клиент, где каждый таб - это отдельный IE, в который загружается флэш-контент; не думаю, что это один процесс, хотя пути Windows не исповедимы :)

etc 30.03.2009 18:49

Флешу в таком случае выделяется один кусок памяти на все ActiveX-контролы.
Но вообще говоря, распределение памяти зависит от системы. В Mac OS X, например, каждый плеер сам по себе.

Dimonte 30.03.2009 18:54

Так если у вас клиент открывает IE в себе, то получается, что все эти открытые IE - часть одного windows-процесса, и флеш-плагин инициализируется один раз. Могу быть не прав, давно вглубь win-архитектуры не приходилось заглядывать.

Думаю, можно это довольно просто определить, запустив какой-нибудь внешний процесс-менеджер. Скорее всего, не будет на каждый ваш таб создаваться новый процесс IE.

litebox 30.03.2009 19:17

Ну, в "корне" каждое приложение - это один процесс, который затем дробится на новые процессы и нити, так что я думаю - по итогу процессы эти - порождение одного и имеют одну точку доступа. Меня как раз больше беспокоит выделение адресного пространства на все флэш-плеера, спасибо, __etc


Часовой пояс GMT +4, время: 15:32.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.