begin process at 2008 08 28 15:49:09
1 233 196 membres
298 nouveaux aujourd'hui
14 291 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

MANDELBROT MULTI-PROCESSUS


Information sur la source

Catégorie :Maths et Algorithmes Classé sous : Fractale, Mandelbrot, thread, multithreading, julia Niveau : Initié Date de création : 24/05/2008 Date de mise à jour : 01/06/2008 23:38:27 Vu / téléchargé: 1 441 / 76

Note :
Aucune note

Commentaire sur cette source (0)
Ajouter un commentaire et/ou une note

Description

J'espère que l'idée vous plaira, il s'agit de la fractale de Mandelbrot. Un grand nombre d'applets la dessinent mais l'originalité repose ici sur la gestion de plusieurs threads.
Au lieu d'utiliser un pool de threads j'ai préféré créer un objet FractalPainter implémenté par :

- les ChiefFractalPainter qui ne dessinent rien du tout mais délèguent à deux autres FractalWorker
- les WorkerFractalPainter qui dessinent une partie de la fractale

Lorsque l'on demande à un ChiefFractalPainter de dessiner une partie de fractale, il coupe cette partie en 2 et la donne chacune des parties à ses 2 workers attitrés, en fin de compte, il ne fait pas grand chose. (Je me suis inspiré de la hiérarchie habituelle dans un bureau, lol ;)

Si on choisit de dessiner en //, chaque WorkerFractalPainter se créera un petit thread à lui pour faire le boulot.


Conclusion

Je n'ai pas vraiment pu tester le gain de performance, car chez moi je n'ai qu'un seul coeur sans hyper threading. (A64 3200+)
Mais j'attends vos remarques à ce sujet.
29/05/08 : tests relativement concluants sur un pentium dual core e4600, parfois peu de gain si la complexité de la fractale est mal répartie


Je vais sans doute améliorer un peu la conception de l'IHM qui est un peu rafistolée de ci de là, en revanche je pense que les FractalPainter sont bien foutus.
Animations rajoutées.
Reste à multithreader le rendu.
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

29 mai 2008 02:00:28 :
J'ai pas mal modifié le code en séparant le calcul des fractales du rendu des fractales. Pour une question de temps, seul le calcul de la fractale est multithreadé mais sur le même principe, je vais multithreader le rendu. Grâce à cette amélioration de la structure de l'application, j'ai pu facilement rajouter des animations, il n'y en a que deux pour le moment, mais tout reste possible. Il reste pas mal de choses à faire : - améliorer la qualité du code -> au niveau de l'interface, c'est un gros bordel à force de rajouter des composants un peu partout - documenter le code, pour l'instant les commentaires sont minimaux, et il n'y a pas de javadoc ni d'uml ni rien de tout ça. - ajouter le multithreading pour le rendu des fractales - ajouter le dessin de l'évolution d'un point (très joli) - ajouter quelques animations - ajouter une applet - intégrer java webstart - et pourquoi pas, voir si on ne peut pas utiliser la puissance colossale du GPU pour ce genre de calculs répétitifs
29 mai 2008 02:02:58 :
J'ai pas mal modifié le code en séparant le calcul des fractales du rendu des fractales. Pour une question de temps, seul le calcul de la fractale est multithreadé mais sur le même principe, je vais multithreader le rendu. Grâce à cette amélioration de la structure de l'application, j'ai pu facilement rajouter des animations, il n'y en a que deux pour le moment, mais tout reste possible. Il reste pas mal de choses à faire : - améliorer la qualité du code -> au niveau de l'interface, c'est un gros bordel à force de rajouter des composants un peu partout - documenter le code, pour l'instant les commentaires sont minimaux, et il n'y a pas de javadoc ni d'uml ni rien de tout ça. - ajouter le multithreading pour le rendu des fractales - ajouter le dessin de l'évolution d'un point (très joli) - ajouter quelques animations - ajouter une applet - intégrer java webstart - et pourquoi pas, voir si on ne peut pas utiliser la puissance colossale du GPU pour ce genre de calculs répétitifs
29 mai 2008 02:07:15 :
hum hum, je me suis planté sur le zip, et le fait de revenir à l'étape précédente après avoir cliqué sur prévisualisation semble conserver la mise à jour prévisualisée...
30 mai 2008 01:10:24 :
J'ai mis en place l'architecture pour le rendu en multithread, mais ça n'est pas encore fonctionnel. On peut sauvegarder et ouvrir des descripteurs de fractales. J'ai aussi réorganisé un peu mes packages. Beaucoup de choses à faire encore,notamment un compteur de FPS pour les animations, une interface console minimaliste... en plus de ce que je voulais déjà faire avant
30 mai 2008 23:39:42 :
Ajout de bundles, pour l'instant que le français, mais avis aux amateurs pour les traductions Ajout d'icônes (les chemins sont paramétrables dans le bundle configuration) Rendering multithreadé suivant le même principe que le computing Ajout d'un panneau de contrôle des animations
31 mai 2008 17:36:30 :
v2.5.0 - Gestion améliorée des bundles, ajout de l'anglais et de l'espagnol. Ajout d'icônes, gestion centralisée des animations avec un peu d'introspection à condition de spécifier dans le fichier configuration.properties le nom des classes d'animation
01 juin 2008 23:38:29 :
2.6.0 : Optimisation du rendu des fractales, calcul du FPS et ajout d'une icône de sablier lors du dessin de la fractale + quelques bricoles
    Aucun commentaire pour le moment.

Ajouter un commentaire

Pub



Appels d'offres

Recherche developpeur ...
Budget : 700€
SITE MARCHAND LOCATION...
Budget : 3 000€
SITE MARCHAND POUR HOTEL
Budget : 4 000€

Snippets en rapport

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS