Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Возможно ли откомпилировать AS3 проект компилятором haxe? (http://www.flasher.ru/forum/showthread.php?t=170578)

Robotex 27.10.2011 20:11

Возможно ли откомпилировать AS3 проект компилятором haxe?
 
Есть огромный проект на ActionScript3. Возможно ли его собрать с помощью haxe не переписывая каждый файл вручную (их там тысячи)?

saikspaik 27.10.2011 20:14

Скорее всего нет. Да и зачем?

Robotex 27.10.2011 20:25

Да просто так, любопытство. Ну а если получится, то получим прирост скорости. Просто решаем сейчас на чем писать следующий проект, вот и обратили внимание.

Inet_PC 27.10.2011 20:31

Цитата:

получим прирост скорости
Поясните?

expl 27.10.2011 20:46

Цитата:

Есть огромный проект на ActionScript3. Возможно ли его собрать с помощью haxe не переписывая каждый файл вручную (их там тысячи)?
Нельзя

Есть тулза as3tohaxe, генерящая haxe-код по as3, но код она генерит _нерабочий_, она просто рутинные замены типа int->Int делает. Порт придется делать вручную.

Цитата:

получим прирост скорости
Если вы его _сможете_ портировать (могут помешать косяки с нативными флешовыми геттерами-сеттерами в haxe и отсутствие приватных методов, хотя второе побороть просто) прироста скорости _не_ будет. Никакого. Может даже наоборот. Еще, кстати, могут возникнуть проблемы с подгружаемыми swf-ками.

Прирост будет если только вы сможете использовать некоторые фитчи, типа:
-inline-методов;
-прямого доступа к памяти;
-генерации типизированных классов (слишком сложно использовать - начинаются проблемы с приведением типов, чаще просто исопользуют параметризированные типы с отключенной генерацией классов на каждый параметризированный тип - компилируются в ту же динамику, но зато проверяются на этапе компиляции);
-макросы (физический движок вроде с помощью них получилось ускорить существенно)

Короче, если нужна производительность - используйте аппарат.

А так, смысл перехода на haXe есть, только если вам важны другие приемущества (считая что сервер пишется на другом языке):
- параметризируемые классы/интерфейсы - это значит не надо выбирать между типизацией и копипастой как в as3, т.е. типизированные хеши, массивы, коллекции, рендереры и т.д.
- типизированные колбеки - в as3 этого дико не хватает, это одна из причин, почему библиотеки сигналов в as3 приводят проект в чудовищное состояние при активном использовании.
- быстрая компиляция, _но_ это не для вашего проекта, ибо 1000 классов без _инкрементной_ копиляции он будет собирать в разы медленнее
- нативная итерация (в as3 сделать итератор - это значит лишиться типизации, либо наплодить кучу классов), в haXe это делается без всякой побочки. Хотя в as3 даже тип переменной цикла for each не проверяется даже если перебор идет по Vector, в haXe с этим все четко, проверяются даже параметры, передаваемые в методы push и pop.
- макросы (например с помощью них можно писать шейдеры на человеческом языке, а не на ассемблере без потерь производительности)

Вам это сильно надо, нет? Тогда аппарат.


Часовой пояс GMT +4, время: 10:23.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.