|
|
|||||
Регистрация: Jun 2009
Сообщений: 6
|
Память, занимаемая Flash Player
День добрый!
Хотелось бы спросить совета профи. Сложилась интересная ситуация. Приложение, написанное на чистом AS3(игрушка). При запуске приложения из: - IDE в системном мониторе ОС процесс flash player занимает 150-170(цифра изменяется во времени) мб памяти. В профайлере можно увидеть что приложение занимает 50-60 мб. Мемори ликов нет, все ок. - При запуске в браузере(firefox, chrome) проигрыватель занимает памяти 250-350 мб(цифра изменяется во времени), видно через системный монитор. Отслеживание памяти, исползьуемой флешкой через различные мемори трекеры(да и просто с помощью System.totalMemory) показывает что флешка все также отъедает 50-60 мб памяти. Через профайл отследить что теряется невозможно - тк как таковой утечки нет, приложение, по показаниям профайлера, в процессе своей жизни, не занимает больше 60 метров памяти. А процесс самого flash player "кушает" памяти по максимуму под 400 метров. Собственно, вопрос, может кто сталкивался или знает. Куда делись, и для чего используются 150-250 мб памяти flash player'ом(т.к. показатель 60 мб меня устраивает вполне, но когда процесс flash player начинает занимать под 400 метров - это не "ок"). |
|
|||||
400 мб процессу выделено. А 60 из них процесс реально занимает. Вероятнее всего, если бы у Вас было меньше памяти в системе, GC бы срабатывал чаще и удалял бы лишнее. А так оно просто висит и ждет своей очереди для удаления. В конце концов, какая разница, сколько выделено операционкой? =)
__________________
...вселенская грусть |
|
|||||
Регистрация: Jun 2009
Сообщений: 6
|
Может быть конечно и так. Но всего это не объясняет. Т.е. под процесс выделено операционкой ~400 метров. Но с какого перепугу flash player столько запрашивает? Т.е. ему столько не нужно - сейчас за час работы под профайлером, приложение всего съело 250 метров памяти(т.е. это все количество памяти, которое было выделенно приложению и освобождено GC за ненадобностью), при этом оставаясь в рамках текущей, т.е. на данный момент, выделенной/используемой памяти 50-60 мегабайт.
Для эсперимента прикрутил MemoryController c http://www.dtf.ru/articles/read.php?id=51967. Пределы срабатывания GC установил 55 - 65 метров. Да - все работает, как только приложение достигает рамок в 55 метров, форсируется вызов GC и память освобождается до ~45-50 метров, после чего опять растет до 55 метров. А сам процесс flash player как занимал 250-400 метров так и занимает. Т.е. GC тут по моему совсем не причем. Тут или я чего то не понимаю, или одно из двух. :-) Впрочем, идея запустить приложение на железе, с меньшей памятью хороша по моему - погляжу что получится. Upd: При проверке на стареньком древнем железе(256 оперативки, winxp) все подтвердилось. Процесс проигрывателя больше 80 метров не занимал. Последний раз редактировалось Warlockus; 13.12.2010 в 00:42. |
Часовой пояс GMT +4, время: 19:00. |
|
« Предыдущая тема | Следующая тема » |
|
|