2010-11-01 3 views
2

Я разрабатываю MIDI-приложение с использованием AIR, которое считывает MIDI-код с Java и обнаруживает, что он не может работать достаточно быстро, если не переместить все на Java. В actionscript ли Зеленый поток может улучшить AIR/Flash, действуя как многопоточное приложение, которое может улучшить производительность NativeProcess при чтении и записи?QT vs Flex/Flash/AIR для мультимедиа

Если нет, скажите, предложите ли вы переместить все на Java или выбрать Qt framework? Мне не нравится язык C++.

+0

Привет, как это часто бывает, у меня нет прямого ответа на этот вопрос, но я мог бы дать вам немного больше информации, чтобы помочь. AIR/Flash сам по себе не является многопоточным, единственным способом подделать многопоточность является блокировка фоновой обработки, чтобы обновить пользовательский интерфейс после возобновления обработки данных. Если вам действительно нужна поддержка muli-threaded, я предлагаю придерживаться Java, и если вы хотите использовать инфраструктуру QT, см. Ссылку здесь: http://qt-jambi.org/ – shaunhusain

+0

Также еще одна короткая заметка, если она не является очевидным, вы получите максимальную производительность от написания на C или C++, а затем компилируете до машинного кода для конкретного процессора, а не на все, что работает поверх виртуальной машины. Если говорить о том, что, если вы внимательно относитесь к тому, как вы представляете данные в AS с Java, вы, вероятно, можете отключить пользовательский интерфейс в AS, вам просто нужно загрузить всю тяжелую предварительную обработку в Java (в какой-то момент сериализация объектов также станет узкой точкой но обновления каждые 1/30 секунды будут поддерживать анимацию и обновляться и не должны перегружать proc). – shaunhusain

ответ

1

Flash-плеер не поддерживает многопоточность. Однако, если вы пишете настольное приложение (используя среду выполнения AIR), вы можете использовать NativeProcess для создания инструмента командной строки (python, java, ruby, C и т. Д. И т. Д.) Для обработки Midi в фоновом режиме, что позволяет Flash просто обрабатывать обновления пользовательского интерфейса, что и есть Flash.

Зеленый поток может быть полезным подходом для некоторых задач обработки данных, которые замедляют частоту кадров, но я подозреваю, что ваша обработка MIDI довольно интенсивна - возможно, она не принадлежит Flash.

Если вы развертываете в Интернете, то лучше всего использовать Java (или любой другой серверный ресурс) для обработки MIDI. Вам нужно будет предоставить более подробную информацию о типе обработки, если вы хотите, чтобы я стал более конкретным.

Смежные вопросы