![]() |
AS 2.0 против AS 3.0. Кто быстрее?
Здравствуйте.
Меня интересует такой вопрос. Действительно ли в AS 3.0 простейшие операции, такие как сложение, умножение и т.п., выполняются быстрее, чем в AS 2.0, или просто мой комп глючит? Да и вообще хотелось бы знать, кто-нибуть проводил подобные исследования? Если проводил, то интересно было бы узнать о результатах. Заранее благодарен. |
AS3 вообще и в целом много быстрее.
http://dev.etcs.ru/blog/shit/particles2/ — без проблем таскает ≈10000 объектов в цикле каждый кадр. |
Уже как полтора года, люди говорят о том что ActionScript 3.0 Быстрее чем вторая версия =) быстрее третий ActionScript от 10 до 1000 раз.
Например ас3 может отпарсить 3ds файл с 16 тысячами полигонов и вывести результат на экран за 0.8 секунды на пне 2.4 гига =) |
Спасибо. Жаль только, что нет совместимости между AS 2.0 и AS 3.0 .
|
Есть, через LocalConnection.
|
Я не про это. Нельзя взять код написанный на AS 2.0 добавить пару новых классов из AS 3.0 и скомпелировать как AS 3.0 . Новые классы можно даже не добавлять, просто старый код на AS 2 нельзя компилировать под AS 3, для увеличения скорости...
|
весь код из ас2 можно портировать в ас3, при условии что код был написан на чистом ас2 (без всяких this["mc"] и кода в кадрах и прототипов).
|
Ну и как ты, к примеру, скомпелипуешь Camera.get() в AS 3.0?
|
Agro, как обычно — прочитав хелп по теме :)
|
Да нет, просто в AS 3.0 нет такого метода get() для класса Camera, а есть метод getCamera(). Поэтому при попытке скомпилировать Camera.get() в AS 3.0, компелятор выдаст ошибку. И это не единственное различие между AS 2 и AS 3.
|
уффф, если твой вопрос - есть ли халява, то ответ - как всегда нету.
|
Читаем раздел хелпа ActionScript 2.0 Migration
|
Где-то я в сети недавно видел программу, которая перегоняет скрипты из AS2 в AS3, собирает классы в пакеты и учитывает ActionScript 2.0 Migration. Наверное, если покопаться в гугле можно найти. Я тогда не стал интересоваться этой программой, из-за не надобности...
|
Сегодня как раз решил сравнить быстродействие AS 3.0 и AS 1.0
(понятно, что между AS 2.0 и AS 1.0 разница незначительная). Смысл простой: в цикле увеличиваем число на единицу. Код на AS 3.0: Код:
import flash.text.TextField;Код:
var s = 0;Результат на моём компе (округлил до целых). AS 3.0: 194931774 AS 1.0: 297353 Разница в 655 раз! Для сравнения решил посмотреть то же самое на Java. Код: Код:
import java.util.Date;То есть всего на 20% быстрее, чем AS 3.0 P.S. Надеюсь в 10-м флеше они прикрутят OpenGL, чтобы и графика тоже поживее работала. |
1. В Ас1 помойму на 2 нолика меньше в цикле:)
2. Насколько я помню, Flash Player 8 powered by OpenGL... |
DarkLight у вас глюки, если бы 2 пункт был правильным, в интернете бы уже делали 3д шутеры на флэше, и никто бы не думал что маски или прозрачность могут тормозить =)
|
Цитата:
Поэтому уменьшил на два нолика. Вот и получается, что AS3.0 считает до 100 миллионов за полсекунды, а AS1.0 до миллиона за три секунды. Цитата:
|
На директоре очень много чего делают =)
|
2WindWalker
В каком то посте я писал аналогичный код: Кстати, такая конструкция Цитата:
http://as3.ru/?p=5 Может АС3 считает почти так же как жава, но уж точно отстаёт в разы в доступе к полям других объектов. Т.е. медленее вызываются методы из других объектов и проч. межобъектовые операции. |
Цитата:
To improve playback of video and large content and lower CPU usage, Flash Player 8 uses some OpenGL features when run in Safari on Mac OS X 10.2 and above. This is not full support of OpenGL; the player takes advantage of specific features to get bits on the screen faster. Using OpenGL improves video playback and animation, and reduces tearing or horizontal redraw lines. |
Ну это уже особенности реализации плеера под макось.
|
А вообще плеер под макосью по быстродействию отличается от того, который под винду и линуксового? И если да, под какой осью он быстрее?
|
Под Линуксом не знаю, а под Макосью помедленнее, пожалуй. Да и вообще флеш в целом на маках не шустро работает. (Если в Rosetta, то вообще без комментариев).
|
Цитата:
Может быть в последующих версиях исправят, потому что нелогично как-то. Цитата:
Хотя, возможно, там ещё где-то тормоза какие-то остались. Вообще, виртуальная машина ещё пока молодая. Наверняка там ещё огромный простор для оптимизации. Надо будет как-нибудь на досуге в Тамарине поколупаться. Шансов, что что-то пойму мало, но чем чёрт не шутит. Всё таки интересно, какие нативные коды в итоге получаются, и как вообще там всё внутри устроено. |
АС3 где-то в 2-3 раза быстрее выполняет математические функции судя по моим наблюдениям.
|
Цитата:
С битмап датой скорость работы возросла где-то в двое, а вот с векторной отрисовкой практически ничего не изменилось. Но для такого ускорения нужно писать строго типизированный код. |
Цитата:
насчёт типов согласен. но они применимы лишь в дискретных алгоритмах, и то, это лишь в сравнении с АС1. Операции с целыми числами в частности по скорости получили серьёзный тычек по сравнению с АС2, float же особо не изменился. Класс uint меня вообще смущает, его использование настолько лимитировано что я уже не помню когда в последний раз его использовал. Вообще конечно язык сам по себе тут почти не причём, это заслуги компилятора. |
| Часовой пояс GMT +4, время: 20:25. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.