![]() |
AS2 to AS3 - жуткие тормоза
Делаю игру. Начал делать на АС2 но начали появляться подтормаживания и просадки фпс. Пока не критично, но ещё много впереди и в конце концов, это стало бы узким местом. Решил перебросить всё на АС3 пока не поздно, т.к. он вроде пошустрее, НО, получил тормозов ещё больше!
Что имеем: вид сверху, в центре герой, бекгроунд - 2 штука растра 2500х2500 + ещё там фигни всякой типа мувика для хит теста и т.д. Герой на месте, двигаю только бекгроунд со всеми составляющими. В АС3 версии даже без ХитТеста, только скролл бека - фпс падает до 20-25. АС2 30 держал стабильно и с ХитТестом и стрельбой. Код писал на фрейме мувика лежащего на главной сцене. Все обьекты внутри этого мувика. Вот код: Код AS3:
|
Цитата:
|
Цитата:
Битмап тут не причём, на АС2 всё норм. По коду - для того тут и спрашиваю. Если есть ошибки буду благодарен за подсказки. |
А вы еще больше анонимных функций насоздавайте, так оно может вообще не стартанет...
Кроме того, не понятно как вы отрисовку делаете... Логичнее всего делать это с помощью copyPixels и отрисовывать только видимую часть, ну или как-то так, а не рисовать каждый раз огромный битмап. Кроме того, если вам нужны множественные преобразования позиционирования / поворота / размеров лучше использовать DisplayObject#transform.matrix, а не x, y, width, height, rotation. Ну и вообще на таймлайне лучше не писать... |
Цитата:
getFPS = function() { ? если да, то оно на скорость не влияет, по крайней мере существенно (убирал всё кроме вывода фпс - всё работало на максимум. Цитата:
Цитата:
Цитата:
|
Где-то на форуме была тема по этому поводу... попробуйте поискать "spritesheet" или как-то так...
Вот есть пару статей, вроде в тему, но там было лучше описано... http://blog.touchmypixel.com/archives/5 http://tutorial.jcwcn.com/2D-Graphic...-08/11049.html |
Зделайте наоборот - герой ходит по карте и на нем сфокусирована камера.
Код AS1/AS2:
Таким образом, карта неподвижна, двигаются только юниты на ней, посему ненужно ее перерисовывать каждый раз, двигать ее мувик, двигать статические обекты на ней. Скролрект попиксельно скопирует содержимое мар на экран, так должно быть быстрее. Плюс к этому, логичнее, когда юниты двигаются по карте, а не когда под героем ездит карта. При этом нужно будет делать апдейт только движущихся обектов, деревья и все остальное трогать не надо будет. http://murejib.com/2008/04/24/ scrollrect-2/ |
| Часовой пояс GMT +4, время: 18:38. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.