Я использую Flex 3 в пользовательском интерфейсе приложения Windows (проигрыватель Flash в качестве встроенного элемента управления ActiveX) и передаю данные между ними с помощью ExternalInterface (главным образом в приложение Flex, а не out). Я нахожу, однако, что производительность довольно ужасна, особенно с большими (то есть, пользовательскими) объектами; чем больше EI-вызовов мы делаем, и чем больше пользовательских объектов передается, тем сложнее кажется снижение производительности.
Я предполагаю, что при сериализации этих объектов возникают большие накладные расходы, поэтому мне интересно, есть ли какие-либо передовые практики для использования ExternalInterface таким конкретным способом? По всей видимости, документации по этому вопросу пока еще немного.
Лучше, скажем, передать большой блок XML в элемент управления проигрывателя в виде строки и проанализировать его с помощью Flex, чем передавать его как пользовательский объект, как правило? Как приложениям Flex, требующим относительно тесной интеграции со своими хост-приложениями, лучше всего использовать ExternalInterface, не жертвуя при этом производительностью? Является ли производительность EI проблемой Adobe? Есть ли различия в реализации между игроками 9 и 10? Каких вещей нам следует избегать, чтобы максимально использовать эту функцию?
Заранее спасибо!
Крис