![]() |
Цитата:
МОЖЕТ докомпилится. Причем, продвинутые реализации читают байткод, восстанавливают по нему семантическое дерево и заново повторяют этам кодогенерации, но уже для данной платформы. По-дефолту же байткод просто интерпретируется (в отличие от .NET, где поо-дефолту идет докомпиляция), причем он ориентирован именно на режим интерпретации. BTW, если интересно, то рекомендую поискать материалы про проект Джус -- там основная идея была в том, чтобы вообще не формировать байткод, а просто сериализовать дерево разбора. А уже перед исполнением по этому дереву выполняется нативная кодогенерация. Гадкая Java удушили этот проект... :) |
Цитата:
|
оооо ёёёёё.... шире вселеееенооой гооооре моооёёёё.... :)))))))
офигенный все-таки топик =))) настроение поднимает... ууу.... 2Смольный по поводу индексации и проч.: просто изначально тема была начата с частностей, хотя потооом (на пятой странице :)) ) автор-таки сознался что на самом-то следует мыслить глобальными категориями, не зацикливаясь между гоуту и плеями =)) война-фигня, главное - маневры !.. 8) 2Stary очень спорно =) насчет дизайнеров, королей и капусты =) |
2 Смольный
Что-то я не пойму. Какие же могут быть сцены в пределах одного мувика (если применяется mc.gotoAndPlay() )? Или могут? Я никогда не связывался со сценами и вообще нужды в них не вижу. Давайте условимся. Повторяющийся в 100 процентах случаев глюк - это не глюк, а недокументированная возможность. Нужно только их изучить и помнить, чтобы не наткнуться на проблемы. Вот когда в одном случае срабатывает так, а в другом - эдак - вот это глюк действительно. Чтобы его обойти, нужно вообще отказаться от данного решения и использовать какое-нибудь другое. Именно это, бывает, происходит, например, если в первом кадре написать stop(), а потом пытаться проиграть все в потоке без прелоадера. В одном случае происходит остановка на первом кадре, в другом - нифига. Вот это глюк, я считаю. |
оо, дяденька смольный пришел :))
Код:
MovieClip.prototype.gotoAndPlay = function (frame) { |
Спасибо, просветили.
|
Похоже вторую волну этого топика я пропустил.
чтож, начнем разбор полетов :) как выяснилось, тормоза АС - это фирменные маркетинговые решения макромедии :D и все с этим согласились. сколько не пытался объяснить, что я считаю неудачной *внутреннюю* реализацию АС и не имею ничего против синтаксиса, все равно никто не понял. ну и ладно :( 2 mort и остальным: ну и зацепили же вы это приведение типов, хотя я в первую очередь хотел сказать, что поиск по строковым идентификаторам, это плохо для производительности, как в индексе массива, так и в идентификации переменной, поскольку переменные в АС тоже при вычислении определяются по их названию (это доказывает Код:
var var1="var";Цитата:
Цитата:
Цитата:
кстати я никогда не претендовал на объективность своих рассуждений. Цитата:
говорите АС это скрипт для дизайнеров, простой и интуитивно понятный. это конечно правда, если писать в кадрах только stop() и play(), но как только надо написать что-то более-менее серьезное, даже у программистов волосы дыбом становятся от непредсказуемости поведения плеера :( 2 Смольный (Smolniy) Цитата:
2 Stary не переживай, используй все как использовал, от тормозов всеравно ты не избавишься :D |
2 [subway]Design
Цитата:
Выводы? Выводы: Что ж, может я и ошибся. ActionScript - не полная лажа. Просто лажа, но не полная :D лажа, процентов эдак на 95 :D :D :D Что я хотел сказать названием топика, так это то, что АС можно было сделать ГОРАЗДО лучше и быстрее, при этом его удобность не пострадала, а тут раздулся такой флейм, хоть и довольно веселый :) похоже ли на театр - врядли, больше похоже на сессию верховной рады - все говорят, но никто не слушает :) :) :) Приведу последний пример - perl по функциональности не хуже АС, просто не привязанн к конкретной программе, но работает ГОРАЗДО быстрее АС. где, говорите маркетинг? а ламера где? |
во блин :mad:
|
Весь тред читать ломало, тем более тут больше флейма.
Отвечаю на следующий вопрос: почему доступ к переменным осуществляется через название, а не через адрес. Очень просто. Вот простой пример. Допустим, у нас есть 5 мувиклипов, названных button1, button2, button3, button4, button5. мы может обрабатывать их в цикле: for (var i=1; i<6; i++) initButton(_root["button"+i]); Если бы доступ был по адресу, то такая фишка была бы просто невозможна. Я пока не дизасмил флеш-плеер, и не знаю: используется у них какая-то оптимизация или нет. Надеюсь, они используют хеш-таблицы для ускорения поиска переменных. По крайней мере в 7-м плеере. Но одно я знаю точно: строки в байт-коде хранятся один раз в пуле строк, а затем доступ к ним происходит по индексу. Так что по крайней мере здесь они некоторую оптимизацию выполнили (как по размеру, так и по скорости). |
| Часовой пояс GMT +4, время: 21:52. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.