![]() |
Что лучше: программная отрисовка или объект в swc-библиотеке?
Здравствуйте. И снова хотелось бы задать вопросик, касаемый оптимизации. Что быстрее сделать флешу: перетащить из swc-библиотеки объект, скажем, обычный кружок с двухцветным радиальным градиентом, или же отрисовать его программным способом? И второй вопрос вдогонку: что из этих способов будет меньше занимать памяти?
|
Я думаю, что объект, отрисованный программно, кушает гораздо меньше ресурсов, ибо в нём находится только тот минимум, который Вами написан. Да и вообще, с ними удобно маневрировать. Лично я, например, рисую круги не с помощью функции drawcirle, а с применением цикла и параметрических уравнений - так и поменять что-то в нём легко, и не нужно дополнительных импортов.
|
Циклов и параметрических уравнений? То есть, если приблизить камеру и поглядеть на ваш круг, будет видно, что это многоугольник? Хм, вообще да, лишних импортов нет, но я не уверен, что быстрее выполняется цикл, чем drawCircle.
|
Цитата:
И цикл то там мгновенный, можно сказать - пробежаться по всем углам от 0 до 360 градусов - доли секунды. А угловатости и не будет видно, потому, что все точки крайне близко друг к другу. |
И еще, я вот только подумал... если я правильно понял, что циклическая отрисовка кругов представляет собой отрисовку кусочков линий, последовательно соединенных друг с другом, так? Так сколько же таких объектов в одном таком круге и сколько они занимают памяти? Круг, отрисованный с помощью drawCircle представляет собой один простой векторный примитив. Разве не так?
|
Да, это и есть отрисовка линий, которые соединяются между собой...но ведь рисуется это всё в одном и том же спрайте, поэтому количество объектов никак не прибавляется, по логике) Линия - это ведь не объект, на неё не создашь ссылку и не запишешь в переменную...
А как рисуется круг с помощью drawCircle честно, не знаю, это ведомо лишь тем, кто разрабатывал язык) Но математическая логика подсказывает, что он рисовался именно так... Хотя, возможно использовать полярные координаты вместо декартовых |
Цитата:
|
Хм, и правда. Хотя черт знает, может где-то точек больше, а где-то меньше. И вообще, если рисовать в спрайте drawCircle, не используя Shape, то ничего импортировать и не нужно. Спасибо, я приму это к сведению, но вопрос мой немного не о том)
|
по самому первому вопросу — быстрее "перетащить из swc-библиотеки объект"
|
КорДум, почему бы вам не провести тестирование, хотя бы с этими кругами, собственно? По-описанию дел на полчаса-час. Потом бы поделились результатами ;)
|
| Часовой пояс GMT +4, время: 06:02. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.