2010-11-16 6 views
3

Dans notre projet, nous utilisons JAI pour afficher des parties d'une image, faire pivoter une image et effectuer un zoom basique dans une applet. Nous observons maintenant que l'applet prend beaucoup de temps à charger - environ 20 secondes pour la première fois. Mais par la suite, cela ne prend que 3 secondes (ce qui est également assez élevé).Problèmes de performances dans l'utilisation des API Java Advanced Imaging

Le développement de JAI semble avoir gelé depuis 2007.Au moins, je n'ai trouvé aucun téléchargement post 2007 sur le site web de Java.

Est-ce que quelqu'un a rencontré des problèmes de chargement et les a résolus dans le contexte de JAI? Existe-t-il une alternative performante à JAI? Les images que nous utilisons sont au format TIFF et peuvent contenir plusieurs images dans un fichier physique.

Tous les pointeurs grandement appréciés.

Répondre

1

Le premier démarrage de l'application (démarrage à froid) peut prendre beaucoup de temps, car vous devez charger des tonnes de bibliothèques, y compris JAI. Les démarrages d'application suivants (démarrage à chaud) sont plus rapides lorsque les classes d'exécution sont mises en cache dans classes.jsa.

Ensuite, le traitement de l'image nécessitera la CPU et, pour la peindre, la carte graphique. Avec les ordinateurs modernes, le traitement d'image (opérations de base!) Et la manipulation (zoom, pan) sont triviaux et rapides avec JAI.

Nous avons développé et l'application de révision d'image avec JAI + Image I/O et zoom et panoramique est extrêmement rapide depuis que nous l'avons terminé en 2007 (images 1Mp). Une fois l'image chargée, le traitement et la gestion sont très rapides. Nous chargeons donc l'image dans les threads d'arrière-plan pour améliorer l'expérience utilisateur. Le problème avec JAI est son état actuel: gelé et/ou mort, mais il est mature, assez stable et d'autres produits comme Apache Log4J ont le même problème, pas de nouveaux développements depuis des années, mais les gens continuent à l'utiliser comme il n'est pas une alternative (bien, Logback!).

Il existe de nombreuses alternatives à JAI, comme ImageMagick, mais je ne les ai pas testées.

Nous prenons soin lors du chargement et du traitement des images, comme convertir en 8bit/canal si possible, effectuer les opérations en arrière-plan avant de peindre ...

Questions connexes