2012-08-17 7 views
2

J'ai jai (Java Advance Imaging) que j'utilise dans mon application. Lorsque j'utilise les configurations jai, j'ai l'impression que mon traitement d'image est plus rapide, mais cela nécessite que ces configurations soient installées sur l'ordinateur de l'utilisateur.JAVA JAI: entre Jai Jars et Jai Setups, que dois-je utiliser pour obtenir un résultat plus rapide et plus efficace?

Et lorsque j'utilise Jars of jai, il ne nécessite aucune installation, mais le traitement de l'image est lent.

Alors Quelle approche devrais-je utiliser pour obtenir un résultat plus rapide et plus efficace?

Y a-t-il un moyen d'installer les configurations jai en mode silencieux, ce qui ne nécessite aucune intervention de l'utilisateur au moment de l'instillation?

+0

Très bonne question ... +1 ... Je voulais savoir la même chose ... –

Répondre

2

Je pense que la différence de performance que vous voyez est causée par le fonctionnement de JAI avec ou sans accélération matérielle. Pour obtenir l'accélération matérielle, vous devez:

  • ou installer IMA pour JRE (puis JARs appropriés/DLL/SO fichiers sont copiés sur JRE et sont disponibles alors à toute application Java)
  • ou de fournir JAR/Fichiers DLL/SO avec votre application Java. Dans ce cas aucune installation n'est requise!

Pour la deuxième option, vous devez:

  • comprennent jai_codec-1.1.3.jar jai_core-1.1.3.jar mlibwrapper_jai.jar à votre application et les ajouter à la classpath
  • mis libmlib_jai.so mlib_jai.dll mlib_jai_mmx.dll mlib_jai_util.dll au dossier de travail de votre application

Si vous utilisez Lynux , Vous aurez probablement besoin d'étendre LD_LIBRARY_PATH avec le répertoire de travail, de dire java où trouver le fichier SO:

#!/bin/bash 

ROOT=`dirname $0` 
cd $ROOT 

# allow JINI to load libraries from working directory 
# (e.g. libmlib_jai.so - JAI hardware acceleration library) 
export LD_LIBRARY_PATH=$ROOT:$LD_LIBRARY_PATH 

Exemple:

Votre structure de l'application peut être:

YourApplication 
    lib 
     jai_codec-1.1.3.jar 
     jai_core-1.1.3.jar 
     mlibwrapper_jai.jar   
     ... 
    libmlib_jai.so 
    mlib_jai.dll 
    mlib_jai_mmx.dll 
    mlib_jai_util.dll 
    ... 
    run.cmd 
    run.sh 
    ... 

Ainsi, les fichiers JAR sont inclus dans CLASSPATH et les fichiers SO/DLL dans le dossier de travail (où run.cmd/.sh sont exécutés).

Questions connexes