![]() |
При перемещении мыши тормозит флэшка
Здравствуйте! У меня такая проблема: при перемещении мыши по области флэшки, падают fps, от всех лишних событий, вроде бы, отписался. Может кто-то сталкивался с такой проблемой.
Вот сама игра: http://vk.com/app2292679 Жду любых советов по снижению нагрузки) |
Если у тебя вся графика в jpg или в png то переведи все в вектор - будет летать игрушка
|
Цитата:
|
Графика вся в PNG, разве это даст заметное ускорение?
|
Наоборот. FP тратит намного больше ресурсов для отрисовки вектора, чем растра.
|
для всех объектов не требующих реагирования на мышь поставьте mouseEnabled = mouseChildren = false
|
derhab, спасибо! попробую)
|
Цитата:
Хоть расход памяти заметно увеличился, но нагрузка на процессор упала ОЧЕНЬ заметно. И всё полетело, как надо. Так что это более чем сомнительная рекомендация. А по сути вопроса: нужно выявить сначала слабое место, а потом искать способ оптимизации. |
Цитата:
|
Если сильные тормоза - то, предполагаю, много вектора, анимированного
|
Цитата:
|
нет, не надо, эквивалентны
|
Большое количество покадровой вложенной анимации может снизить fps
|
Если у объекта Sprite свойство visible = false то он учитывается при построении отображения кадра?
|
нет, объект не рендерится, производятся только вычисления связанные с объектом
|
А вы трейсов не делаете на каждый mouseMove Я такое наблюдал когда трейсы идут. Соберите в релизе и выставьте галочку omit trace actions(если мы в Flash IDE) возможно проблема в этом.
|
Цитата:
|
у вас тайлы карты это отдельные дисплей объекты, подписанные на мышиные события?
|
Цитата:
|
если есть возможность, то в качестве карты местности лучше использовать растр в отдельном спрайте, у которого отключены мышиные события
а тайловая сетка это отдельный программный объект, то есть по какому именно тайлу был произведен клик определяется простым вычислением. |
Весь растр в спрайтах -за пределами экрана им прописываются значения visible=false. А ниже слой со спрайтами "уловителями событий" - если я объединю его, будет быстрее? Боюсь, что отслеживание за выделяемыми объектами съест преимущество
|
У вас огромное количество объектов реагирует на мышь. Если сделать этим объектам mouseEnabled = mouseChildren = false - тормоза уйдут. Как это реализовать в контексте вашей архитектуры, это другой вопрос, возможно придется что-то перестроить.
|
Большое спасибо за разъяснения=) Попробую, если будет прирост, то переделаю)
|
Цитата:
|
Цитата:
|
Предметы за экраном проще хранить, чем заново подгружать, больше памяти расходуется, но работает быстрее. А вот то что их совсем удалять из отображения, я не подумал, спасибо за совет)
|
| Часовой пояс GMT +4, время: 15:34. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.