La façon la plus simple d'améliorer les performances dans un environnement de production est de donner à l'attribut production-mode la valeur true dans le fichier flex-config.xml. Cela permet d'obtenir plusieurs résultats.
<debugging> du fichier flex-config.xml sont désactivées. ?debug=true et ?asprofile=true. Lorsque vous activez le mode de production, Flex ne vérifie la présence de fichiers modifiés qu'au démarrage du serveur. Flex n'utilise pas le paramètre <file-watcher-interval> pour vérifier constamment les fichiers. En production, vous devez redémarrer l'application ou l'instance du serveur J2EE pour mettre les fichiers MXML ou les fichiers dépendants à jour.
Un autre paramètre de configuration qui peut permettre d'améliorer les performances est la propriété <optimize> de la section <compiler> du fichier flex-config.xml. La propriété <optimize> prend la valeur true par défaut. Le fait de donner à la propriété <optimize> la valeur true entraîne une réduction de 10 à 15 % de la taille des fichiers SWF. L'optimisateur change le code ActionScript avant la compilation. Cela résulte en une réduction du temps de compilation et en de meilleures performances à l'exécution dans Macromedia Flash Player. Pendant le développement, si vous utilisez des instructions trace, vous devriez donner à la propriété <optimize> la valeur false pour empêcher le compilateur de supprimer les instructions trace.
Dans Flex 1.0, lorsque Flex compile un fichier MXML et les éléments associés en un fichier SWF, le fichier SWF résultant est une seule entité constituée de tous les composants de base (tels que Button, CheckBox et Panel), éléments graphiques, données intégrées et composants personnalisés. Le résultat peut être un fichier volumineux lent à télécharger. Dans de nombreux cas, les implémentations de Flex utilisent plusieurs applications qui partagent des éléments. Mais les clients doivent télécharger toute l'application et tous les composants pour chaque application Flex à laquelle ils accèdent.
Flex 1.5 utilise désormais un concept de bibliothèques partagées à l'exécution. Ces bibliothèques vous permettent de réduire la taille du fichier SWF de votre application en externalisant les éléments partagés dans des fichiers autonomes qui peuvent être téléchargés séparément et mis en cache au niveau du client. Ces éléments partagés sont chargés à l'exécution par n'importe quel nombre d'applications mais ne doivent être transférés qu'une seule fois par le client.
Si vous utilisez plusieurs applications qui partagent un ensemble de base de graphiques, de composants ou d'autres éléments, les utilisateurs de vos applications n'ont à télécharger ces éléments qu'une seule fois grâce aux bibliothèques partagées à l'exécution. Cela vous permet de réduire la taille du fichier principal de votre application. Flex recompile et renvoie au client toute bibliothèque partagée à l'exécution dont un des fichiers aurait changé. Flex ne recompile pas l'application ou les bibliothèques partagées à l'exécution qui n'auraient pas changé.