Voir les messages sans réponses | Voir les sujets actifs Nous sommes le 15 Sep 2019, 14:11



Répondre au sujet  [ 4 messages ] 
Quelques questions sur Art of Illusion 
Auteur Message
Chuchoteur
Chuchoteur

Inscription: 05 Fév 2006, 19:19
Messages: 33
Localisation: Gard (Alès)
Répondre en citant le message
Message Quelques questions sur Art of Illusion
Bonjour à tous! Ceux qui se penche sur ce petit logiciel fort sympathique. Je voulais connaître exactement le language de programmation d'AoI c'est le "Java" tout court? Et quel moteur de rendu peut-on adjoindre à AoI, lequel est le plus optimisé? Merci d'avance à fgui, KiBi, olivs et autres!


12 Fév 2006, 12:22
Profil
Administrateur
Administrateur
Avatar de l’utilisateur

Inscription: 28 Avr 2004, 08:23
Messages: 2103
Localisation: Toulouse
Répondre en citant le message
Message 
Hello,

je sais pas trop répondre à tes questions, pour être franc. Pour moi, java c'est java, donc oui, AoI est programmé en java. Après, y a-t-il des déclinaisons... je ne sais pas :)

au sujet du moteur de rendu, je m'amuse encore avec la 2.1, mais ej crois que le 2.2 autorise des moteurs externes. Mais pourquoi chercher ailleurs ce que AoI fait si bien seul? Le moteur d'AoI est en effet extraordinair... enfin de mon point de vue ;)

Et hop, au final, un post pour rien dire.
-1 pour l'admin! :D

Amicalement,


12 Fév 2006, 22:35
Profil ICQ YIM Site Internet
Que quelqu'un le fasse taire!
Que quelqu'un le fasse taire!

Inscription: 27 Déc 2004, 01:57
Messages: 901
Localisation: Brest, Dijon
Répondre en citant le message
Message 
Il peut y avoir des programmes Java qui nécessitent certaines JVM (machine virtuelle JAVA) pour tourner (correctement), et souvent, on rencontre des programmes Java qui nécessitent une JVM propriétaire pour tourner... (Le comble pour un langage censé être portable...)

J'avoue n'avoir aucune idée de ce qu'il en est pour AoI, mais fgui va nous dire tout ça. :-)


13 Fév 2006, 03:09
Profil Site Internet
Gouailleur
Gouailleur

Inscription: 17 Oct 2005, 13:54
Messages: 61
Localisation: Tours
Répondre en citant le message
Message 
Java : vaste sujet. Oui, AoI est écrit pour du Java pur jus, version 1.4 (on en est à la 1.5 et la 1.6 pointe son nez).

Pour savoir qu'est-ce que Java, je te renvoie à l'article de la Wikipedia :
http://fr.wikipedia.org/wiki/Java_%28langage%29.

Pour résumer, disons que traditionnellement un langage est soit interprété, soit compilé (traduit en langage machine) avant exécution. L'interprétation (suivre pas à pas le programme écrit par le programmeur) prend beaucoup de temps et ce n'est pas très performant. Pour les applications gourmandes c'est une catastrophe. Le code compilé, lui, est bien plus rapide, mais ce code dépend de la plateforme utilisée : du code pour Intel ne tournera pas sur PowerPC et même du code Intel-Windows ne tournera pas sur Intel-Linux à cause des appels systèmes et bibliothèques (je prends un gros raccourci qu'on me pardonnera).

Java fonctionne différemment. Le programme est prédigéré dans un code compilé 'générique', un code assembleur virtuel typique de ce que l'on peut attendre sur des processeurs actuels. A l'exécution, un programme dit 'machine virtuelle Java' ou JVM traduit ce code (appelé bytecode) en code compilé ou encore code natif. On appelle ça la compilation JIT, Just In Time. Par opposition, la compilation traditionnelle est appelé Ahead of Time. Evidemment la compilation JIT prend du temps et donc la première fois qu'une fonction est exécutée, un programme Java se traîne par rapport au même compilé ahead of time. Mais ensuite, le boulot du compilateur JIT ne s'arrête pas là. Les points les plus lents des fonctions exécutées sont analysés et optimisés à fond, ce qui fait que le programme gangne en vistesse, pour aller au final souvent plus vite qu'un programme compilé ahead of time (comparaison avec langage objet similaire, mettons C++).

Tu peux en faire l'expérience toi-même. Lance un calcul de rendu de quelques minutes et note le temps mis pour effectuer le calcul. Relance-le et tu verras que le rendu est plus rapide de 10%.

Pour conclure : Java utilise plus de mémoire, c'est certain car tout le programme est compilé en mémoire. Ceci dit, c'est minime par rapport à la consommation mémoire lors du rendu (gros maillages, etc). Java n'est pas plus lent qu'un programme en C++ pour ce qui concerne le rendu car le JIT a largement le temps d'optimiser le code, sûrement mieux que ne l'aurait fait un compilo ahead of time.

Astuce : pour être réactive, la machine Java de chez Sun se lance par défaut en mode 'je vais vite mais je ne réfléchis pas'. L'interface est réactive, mais le code met du temps à s'optimiser. On peut lancer la machine Java en mode server (java -server etc), auquel cas la réactivité est digne d'un gastéropode en fin de vie, *mais* on gagne 10 à 20% sur le temps de rendu, ce qui est appréciable pour des temps très longs. Cela vaut pour toutes les plateformes.

Et maintenant, pour finir, "gratuit contre open source" ou quid des JVMs propriétaires ? L'intérêt de Java est que techniquement on peut exécuter sur n'importe quelle plateforme le *même* code. Une application ou un appliquet sur un site Web pourra être exécuter par tout le monde quelle que soit sa mahcine. On peut... pourvu que la machine Java existe ! Actuellement, les machines Java et les kits de développements existent et sont gratuits pour les environnements suivants :
-Windows (fournisseurs Sun + IBM)
-Linux 32 et 64 bits (Sun +IBM)
-Sun Solaris (Sun)
-MacOSX (powerPC et Intel ?) (Apple)

Pour le rendu, je recommande d'ailleurs la machine IBM (pas facile à trouver, mais gratos ça c'est sûr), qui tourne jusqu'à 25% plus vite que celle de Sun. Pour ceux qui n'utilisaient déjà pas le drapeau -server, cela peut conduire à un gain de temps de 40% sur le rendu, autant dire que ça vous évite de changer d'ordinateur! Au passage on remarquera que même chez les pros que sont Sun et IBM, il y en a des plus pros que les autres. Quant à la machine Apple, on a beau utiliser des processeurs 'rapides' (en référence au battage autour du PowerPC), encore faut-il s'en servir...

Mais KiBi, qui utilise Linux sous PowerPC, n'a pas accès à une machine Java Linux-PowerPC (de mémoire). Pour lui, AoI c'est rapé. Alors que si la JVM Sun était en OpenSource, des volontaires pouraient en effectuer le portage.

Il existe un projet GNU (GCJ) visant à permettre de faire tourner des programmes Java grâce au compilateur GCC et donc sur toutes les plateformes GCC/XWindows, je suppose. Ceci-dit, l'état d'avancement de ce projet est chroniquement en retard. En fait, Java avance plus vite que GCJ qui est déjà très incomplet. Le problème majeur vient du statut très incomplet de l'API de l'interface graphique. Pour faire simple, si on reprenait AoI pour le rendre compatible avec GCJ, le programme deviendrait inutilisable à la fois sous les JVM et GCJ, ce qui est un comble (pour les technicos, cela provient de pb avec AWT sous Linux). Enfin, je voudrais préciser que GCJ n'est pas une machine virtuelle Java : une JVM doit répondre à des specs que GCJ est loin de remplir (c'est un constat, pas une critique). Enfin, je ne suis pas sûr que le projet GCJ, même abouti , permette des temps de rendu satisfaisant. En fait, j'espère que la pression mise sur Sun par IBM pour rendre Java OS va aboutir. De toute façon, beaucoup d'extension Java sont des projets OS dans le giron de Sun et j'ai confiance qu'à terme Java devienne OS. Je crois plus à cela qu'à GCJ.

Ce qui m'amène à la question : quel moteur de rendu utiliser ? Celui d'AoI bien sûr ! Le moteur de rendu est le point fort d'AoI. Utiliser le modeleur pour ensuite faire le rendu ailleurs, c'est marcher sur la tête. D'autant plus que les textures et matériaux procéduraux (un autre point fort) nepeuvent être exportés. Par contre, tu peux effectivement te demander si tu ne vaux pas utiliser des outils de modelage externes comme Wings3D. Ceci dit je m'emploie activement à combler cette lacune avec les maillages ngons (greffon PolyMesh).

Ouf, voilà un bien long post.

_________________
François


13 Fév 2006, 12:58
Profil Site Internet
Afficher les messages postés depuis:  Trier par  
Répondre au sujet   [ 4 messages ] 

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages

Rechercher:
Aller à:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Forum style by ST Software for PTF.
Traduction par: phpBB-fr.com