Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
Форум Infinity3D
Страниц: [1]
  Печать  
Автор Тема: Порт в HaXe  (Прочитано 2387 раз)
rigondo
Newbie
*
Сообщений: 1


Просмотр профиля
« : Июль 21, 2009, 07:01:29 »

Здравствуйте Алексей,

Уже 2 года как я работаю исключительно в HaXe, из-за его особенностей, таких как возможность экспорта кода в практически любой язык, но основные две причины
1. Улучшенная производительность при компилировании в swf (он действительно генерит более быстрый байткод, чем родной Adobe). Вот список фич, вот инфа про волшебный инлайн.
2. Более разумный и агрессивно строгий синтаксис.

Николас Каннассе очень глубоко забрался в глубины опкодов AVM2 при создании своего HaXe. Более того, недавно он раскопал даже недокументированные опкоды, которые Adobe использует для своего C++ Alchemy, создав обертку flash.Memory. Этот класс позволяет использовать низкоуровневые обращения к памяти, ускоряя работу с данными на 30-40% чем даже последнейший flash.Vector (читайте тесты Николаса здесь, пощелкайте тест).

Воистину, однажды попробовав пописать в HaXe, уже кажется унылым возвращаться в AS3.

И, конечно, HaXe позволяет использовать библиотеки написанные на AS3, генерируя так называемые внешние интерфейсы из SWC, поэтому я в общем могу использовать ваш удивительный движок. Но мне хотелось бы сделать настоящий порт Infinity в HaXe, так как даже небольшой прирост производительности в такой области, сами понимаете, никогда не лишний, т.е. даже прописав пару функций как inline может увеличить общую скорость на несколько процентов, а если повозиться с flash.Memory, то ууу....

Но к сожалению я не могу этого сделать, потому что получаю swc, а не исходники.
Вопрос: почему не даете исходники? Может быть кода стесняетесь? Улыбающийся

И я вполне серьезно готов заняться портированием - уж очень сладкие результаты получатся, что есть хороший стимул.
Записан
Романов Алексей
Global Moderator
Jr. Member
*****
Сообщений: 94


Ждем StarCraft2


Просмотр профиля
« Ответ #1 : Август 20, 2009, 03:36:11 »

Смысла портировать в haxe нет.

Цитировать
волшебный инлайн
У меня и так все по этому принципу работает.

Цитировать
Вопрос: почему не даете исходники? Может быть кода стесняетесь?
Проект является коммерческим и все алгоритмы (разработаны и написаны с нуля) являются интеллектуальной и коммерческой собственностью.
Записан
makc
Newbie
*
Сообщений: 14


Просмотр профиля
« Ответ #2 : Сентябрь 08, 2009, 03:00:40 »

Цитировать
Улучшенная производительность при компилировании в swf
вполне возможно, что скоро страдать хакснёй по єтой причине более не придётся. к слову сказать, я тоже был раньше большим энтузиастом хаксе, однако, как со временем оказалось, Николас не видит интересы флеш-программистов среди своих сиюминутных приоритетов. я его понимаю, но вместе с тем выбор хаксе в долгосрочном плане для меня более не выглядит столь привлекательным как ранее.
Записан
Дворцин Саша
Jr. Member
**
Сообщений: 60


Просмотр профиля
« Ответ #3 : Сентябрь 11, 2009, 11:33:57 »

Ну ладно вам, застебали бедного Хавье (впрочем он заслужил, мне всю плешь проел)  Ригондо нормальный парень, просто очень экспрессивный ввиду своего южного происхождения и юного возраста. А по поводу haxe - этот язык я пожалуй позащищаю немного , так как сам с весны пишу на нем (спасибо Ригондо, убедил меня все-таки, подлец!) и ничуть не жалею. Я по образованию не программист, а художник, и для гуманитариев haxe все-таки удобнее, лично мне он позволяет сконцентрироваться на самой задаче, а не на программировании (я и на AS немало пописал, есть с чем сравнить)
HaXe хороший, не ругайте HaXe ))) и еще приятно тем, что если мне нужно кому-то дать исходники на AS - то я могу легко экспортировать в AS, что, кстати, сейчас и сделаю (за мной небольшой должок Алексею), благо HaXe на 95% идентичен АСу.
а что касается инлайнов - тот тут Ригондо очень неправ. На самом деле инлайны не так уж и полезны, скороее вредны: если бездумно инлайнить все функции, то размер скомпилированного свифа вырастает настолько, что в кеш нормально не помещается, в результате программа выполняется неожиданно медленнее - поверьте мне, я сам не раз проверял и тыкал носом в это дело Ригондо. А инлайнить "не бездумно" очень трудно, никогда не угадаешь, одна и та же функция ускоряет в одном месте, и замедляет в другом, так что я в итоге вообще отказался от инлайнов. Короче, если не инлайнить - то язык не испортит вам работу.
Цитировать
Улучшенная производительность при компилировании в swf
скажу вам по секрету - улучшает производительность только типизированным масивам, а ля Array<UInt>. Но в 10ке у нас есть Vector - и все, ваша улучшенная производительность коту под хвост, сеньор Хавье, мы это не раз обсуждали. Сколько времени еще 9-й флеш будет актуален, полгода?  Показает язык  Но надо признать, эта _очень_строгая_типизация_ выявляет много ошибок на этапе компиляции, что мне лично очень полезно (и снова, наверное из-за моего гуманитарного образования)
Цитировать
...создав обертку flash.Memory
ах, велика заслуга сделать обертку функциям __vmem_set__ и __vmem_get__! Я этот Memory вам приаттачу, посмеетесь Улыбающийся
@makc - этот ваш TAAS - находка прям! Но я там не заметил ссылки, а так хочется попробовать! Где его скачать и пропустить свой свиф? И! Сейчас я Николя ссылку на ТAAS дам, он оптимизацию очень любит и спать теперь пару ночей не будет, гыгыгы
И еще, важная деталь: CS4 стоит денег, а я принципиально не ворую программное обеспечение, так как считаю это подлостью, тем более сам будучи производителем софта. Я покупаю версии Flash с самого 4-го, вплоть до CS3, и посчитал нецелесообразным платить за CS4, в то время как HaXe дает мне возможность экспортировать свифы для 10го плеера бесплатно.
Цитировать
я тоже был раньше большим энтузиастом хаксе, однако, как со временем оказалось, Николас не видит интересы флеш-программистов среди своих сиюминутных приоритетов. я его понимаю, но вместе с тем выбор хаксе в долгосрочном плане для меня более не выглядит столь привлекательным как ранее.
makc, что вы имеете ввиду? Чем именно не угодил HaXe? Просто хочу увидеть развернутое мнение, и странно наблюдать человека, который, однажды попробовав HaXe, не проперся с его удобства.
Записан
makc
Newbie
*
Сообщений: 14


Просмотр профиля
« Ответ #4 : Сентябрь 12, 2009, 01:21:22 »

Но я там не заметил ссылки, а так хочется попробовать!
http://code.google.com/p/apparat/

посчитал нецелесообразным платить за CS4, в то время как HaXe дает мне возможность экспортировать свифы для 10го плеера бесплатно.
а чем не угодил Flex SDK?

makc, что вы имеете ввиду? Чем именно не угодил HaXe?
Николас не видит проблемы в нарушении инкапсуляции и нерабочих свойствах при экспорте в SWC. Он, походу, не заинтересован, чтобы AS3 программисты пользовались библиотеками на haXe, его экспорт в SWC - просто маркетинговый приём: неудобно работать на AS3 - переходите на haXe - там будет вам и инкапсуляция, и свойства.
Записан
Дворцин Саша
Jr. Member
**
Сообщений: 60


Просмотр профиля
« Ответ #5 : Сентябрь 12, 2009, 02:55:03 »

Цитировать
через пару минут скачаю TortoiseSVN чтобы выкачать последний транк аппарата, и попробую это чудо (насколько я понял бинарников не дают) Улыбающийся
Цитировать
а чем не угодил Flex SDK?
честно говоря я об этом не знал к своему стыду, спасибо за информацию, я почему-то был уверен что адоби бесплатного не дают.
Цитировать
Николас не видит проблемы в нарушении инкапсуляции и нерабочих свойствах при экспорте в SWC. Он, походу, не заинтересован, чтобы AS3 программисты пользовались библиотеками на haXe, его экспорт в SWC - просто маркетинговый приём: неудобно работать на AS3 - переходите на haXe - там будет вам и инкапсуляция, и свойства.
Ну да, есть такое, тянет одеяло на себя немного. Зато есть возможность экспортировать в AS, код получается немного громоздкий (вообще AS более громоздкий по сравнению с HaXe), но вменяемо компилируется (не пробовал под 10-й, но под 9-й в CS3 всегда компилировался без запинки, выдавая всегда идентично выглядящий swf), свойства и инкапсуляция сохраняются.
И все же то, о чем вы говорите - это все политика. А что в самом HaXe, в его синтаксисе и концепции вам кажется хуже, чем в AS3?
Записан
Дворцин Саша
Jr. Member
**
Сообщений: 60


Просмотр профиля
« Ответ #6 : Сентябрь 12, 2009, 03:18:19 »

Цитировать
выкачал, но не понял как эапускать это дело  Грустный
Записан
makc
Newbie
*
Сообщений: 14


Просмотр профиля
« Ответ #7 : Сентябрь 13, 2009, 08:54:14 »

чтобы знать как запускать, надо любить java. я не люблю, потому ничем помочь не могу  Грустный
Записан
Дворцин Саша
Jr. Member
**
Сообщений: 60


Просмотр профиля
« Ответ #8 : Сентябрь 14, 2009, 04:45:09 »

Я тоже не люблю java.
Но герр Joa пишет:
Цитировать
I am thinking about something which would allow us to convert a set of Java *.class files to a *.swf. I have a strategy in my mind for doing this. But it is not something I can address in the next couple of months.
Да просто он волшебник какой-то! Что-ж, будем ждать next couple of months, тем более есть чем заняться это время.
Записан
mehdadoo
Гость
« Ответ #9 : Ноябрь 29, 2009, 10:35:21 »

I dont know russian to understand the disscussion, but if you care gaining support among talented developers, then porting to haxe(whitch i can also maybe help) will be the gratest approach. But nicolas is already doing things on that, maybe you could talk to him first
Записан
Страниц: [1]
  Печать  
 
Перейти в: