Blog graphique 2

Classé dans : Blender, WebGL, 3d, réseau, nouvelles, programmation

English version
Après un premier article sur WebGL, je reviens dessus pour son utilisation dans des cas concrets.

Fennec, Firefox pour mobile permet déjà d’utiliser WebGL sur Android, de façon expérimentale et qui fonctionne ou plante selon les cas. Pour cela il suffit de taper dans la barre d’adresse : about:config, puis de filtre webgl ou webgl.force-enable, et de passer ce dernier paramètre de false à true

Sous Linux, si vous avez une processeur graphique ATI ou Nvidia avec le pilote propriétaire pas de problème à priori. Si vous avec un processeur graphique Intel, il vous faudra installer Mesa 8.0, fraîchement sorti la semaine dernière afin de pouvoir en bénéficier. sous Ubuntu, le ppa:xorg-edgers/ppa permet de le faire sans trop de difficulté.

Voici une nouvelle liste d’applications intéressantes en WebGL.

* Firefox 11 (bêta) et un greffon pour les version antérieures appelé Tilt permet d’avoir une visualisation en 3d de la structure des pages web, permettant ainsi d’accroître l’ergonomie de la visualisation pour les webmestres.

Pyppet – WebGL Streaming blender< =>WebGL permet de visualiser en temps réel dans un navigateur web, un rendu WebGL, d’une scène en cours de modélisation dans Blender.

minifier de fichier GLSL permet de compresser un script GLSL et ainsi de rendre les applications WebGL utilisant GLSL plus rapide à charger et moins coûteuses en bande passante.

Je prévoyais un avenir flamboyant de WebGL dans des encyclopédies du type Wikipedia, Google, commence assez fort dans ce domaine avec ZygotBody, permettant de visualiser les différentes couches de l’anatomie d’un corps humain en 3D, et plus généralement Google Open-3d-viewer, permettant également de le faire sur une vache. Le code de l’application est disponible ici : open-3d-viewer Project page.

Une démonstration de réalité augmentée via firefox.

Seriously.js, du compositing en temps réel sur une vidéo.

Cloudmach est une plate-forme en ‘nuage’ de jeux WebGL.

Une petite démo sympa : lights.elliegoulding.com

Un petit casse-tête sympa : Crazy bugs
.

Utilisation de WebGL pour le rendu vectoriel + bitmap 2d et ainsi bénéficier de la rapidité et économie d’énergie de l’accélération matérielle dans les applications interactives : WebGL Fundamentals (WebGL is a 2D API!)

englishThere is also an English version of this article.
Introduction

J’ai fais il y a peu l’acquisition d’un Atom 330 dans un Shuttle X27D (230€). (attention, le Shuttle X27 sans D utilise un Atom 230 monocœur. Le but était d’avoir à la fois une machine qui consomme peu, peu bruyante, peu encombrante, avec plus de puissance que mon ancienne.
Il y avais différentes autres options, à peu près dans la même gamme de prix. Je désirais également absolument une sortie DVI, car une ancienne machine Turion ainsin’en avait pas et avait du mal a détecter la bonne résolution pour mon écran LCD 20″ 1680×1050 (un LG Flatron Wide que je déconseille au passage).


* L’Aopen MP915X, tout équipé (Celeron M@1,5Ghz)+lecteur DVD slim + HDD2,5″, sortie DVI + firewire (le Shuttle n’en a pas), plus compact pour environ 230€ rue Montgallet, consommation assez basse, mais plus qu’un Atom à priori.
* Une carte mère Atom 330 Jetway + une carte fille propriétaire jetway DVI (120 € les 2)+ un boitier vissable derrière l’écran LCD (fixation VESA) (50 €).
Vu la difficulté pour se procurer ses cartes (import avec problèmes que l’on connait aujourd’hui pour recevoir un colis (Coliposte,UPS, etc…, ouverture de la concurrence à la non livraison), j’ai préféré aller l’acheter dans une boutique sur Paris.

Les différentes Netbox (Asus Eeebox, Acer Horner, MSI windbox, etc…) ont une fixation VESA, mais un cpu assez peu puissant en comparaison (Atom N270). Elle sont d’autre part vendues sous équipées (1Go de RAM (je veux 2), HDD (je veux du SSD, plus rapide moins bruyant, moins consommateur)), Wifi que je ne veux pas utiliser (sécurité informatique + lenteur + santé). Bref surconsommation d’ équipements que je ne veux pas ou que je dois remplacer (surproduction de déchets).

L’Atom 330 est un CPU @1.6Ghz, compatible 64bits, double cœur, avec hyperthreading (4 CPU avec 512Ko de cache chacun sous Linux donc), et quelques autres avantages au prix d’une consommation légèrement plus élevée (8 W de TDP (consommation max au lieu de 2,5 W de TDP), mais cela reste deja très raisonnable et la majorité de la consommation est due au Northbridge (qui a un ventilateur contrairement au CPU). Il est utilisé dans un concept de supercaclulateur de Silicon Graphics (SGI) appelé Molecule, qui comporte 10 000 cores (5 000 atom 330) dans un rack 19″, visiblement 2U.

Les regrets: Le Shuttle X27D est plus gros que je le pensait et le ventilateur, si il est bien plus silencieux que mes autres machines (sauf mon Eeepc 701 parfaitement silencieux en bureautique) reste tout de même bruyant à la longue. Il faudra que je trouve une solution pour remplacer le ventilateur par un refroidissement passif.
Wikipedia en anglais à une bonne liste des microprocesseurs Atom d’Intel et de leurs caractéristiques.

Condition des tests

Je n’ai trouvé pour le moment aucun test des Atom en mode 64 bits, en voici donc un qui permettra de donner une idée de ses performances.
Je l’ai comparé à mon Turion64@1,6Ghz (1024Ko de cache), monocœur, 64bits également, processeur mobile pouvant réduire sa vitesse par deux lorsque inutilisé (environ 80% du temps dans une utilisation bureautique) pour faire des économies d’énergie de façon transparente pour l’utilisateur. L’Atom 330, dédié aux ordinateurs de bureau, ne bénéficie malheureusement pas de cette technologie, mais comporte visiblement (à completer) d’autres techniques de réduction dynamique.

Pour les test, j’ai utilisé Hardinfo (paquet ubuntu, que l’on trouve ensuite dans le menu : Système => Préférences => System Profiler and Benchmark), test monoprocesseur CPU et FPU, ainsi qu’un test de rendu avec Blender, je ne sais pas pourquoi mon test ne se trouve pas dans la liste, j’ai pourtant bien rempli le formulaire ???.
Il existe un test complet appellé Phoronix test suite, mais il est distribué en version 32bits sous ubuntu (jaunty, 9.04 alpha) 64 bits, et ne fonctionne donc évidement pas.
Le livecd 64bits d’ubuntu 8.10 (intrepid), crash au boot sous l’atom 330 (marche sur le turion), la jaunty 64bits alpha5 et supèrieur boot et fonctionne sans problèmes.

Test MONOCŒUR Hardinfo
Test monoprocesseur, désavantageant donc l’atom 330 par rapport à ses possibilitées.

Ce test utilise la méthode de compression légère Zlib (nombres entiers). Le score le plus grand est le meilleur

Ce test utilise la suite de Fibonacci (nombres entiers). Le score le plus petit est le meilleur

Ce test utilise la somme MD5 utilisé pour vérifier l’intégrité d’un fichier (nombre entiers). Le score le plus grand est le meilleur

Ce test utilise la méthode d’encryptage SHA1 (nombres entiers). Le score le plus grand est le meilleur

Le test blowfish est un test d’encryptage utilisant la méthode Blowfish (nombre entiers). Le score le plus petit est le meilleur

De façon très étonnante, la version 32 bits est bien plus performante que tous les autres pour ce test.

Ce test utilise la méthode de lancé de rayon utilisé en image de synthèse 3D (nombres flottants). Le score le plus petit est le meilleur

On voit que dans l’ensemble, pour un seul processeur les performances ne sont pas excellente, mais on peut considerer que ces autres processeurs seront écrasés par les logiciels multithread (plusieurs calculs sont fait simultanément sur les différents cœurs). On peut également constater que dans l’ensemble les performances sont meilleures pour les calculs entiers en mode 32 bits qu’en mode 64 bits, mais quand nombre flottants le mode 64 bit est beaucoup plus performant, et le test Blender qui suit le confirme.

* A noter
Il est également bon de savoir que ces calculs ne sont interessant que pour des calculs intensifs, mais que dans une utilisation de bureautique ou même dans la majorité des cas, l’activité de l’ordinateur se répand dans les différents composants, processeur graphique pour les deplacement des fenêtres et certains calculs d’affichage, du processeur sonore pour les sons et la musique, transfert de la mémoire centrale vers les différents composants, utilisation des caches des différents composants, etc… Dans le cas des architectures Atom, la carte graphique utilise la mémoire centrale, cela réduit donc les performances du CPU et du GPU (processeur graphique) dans le cas de déplacement de grande partie de la mémoire (si cela ne tient pas dans leur caches respectifs).

Test multiprocesseur de rendu Blender
Ce test utilise le benchmark eofw.org.

L’avantage de Blender est d’être parfaitement multithread, il peut donc ainsi se répartir équitablement sur les 4 noyaux de l’atom 330. Dans le cas du test sur Turion, la version Getdeb de Blender, je ne sais pas si il est aussi optimisé que la version officielle de la Jaunty (ni réciproquement). J’ai fait différents test, la version 2.46, Ubuntu 32bits est plus rapide que la version graphicall.org (conseillé dans le test) ou que la version officielle de Blender.org.

On voit au moment du rendu que le cache de 1024Ko du Turion est a son avantage, il calcul des plus gros bloc d’image, réduisant le nombre de calcul à reproduire dans certains cas. Les cache de 512Ko par processeur de l’Atom oblige a utiliser des blocs plus petit, les performance en flottant de ce CPU sont également inférieures à celle du Turion, enfin, la gestion de la mémoire est externalisée sur l’Atom réduisant également les performances. Malgré ces handicaps, l’Atom s’en sort tout de même bien mieux, lorsque le système tourne en 64 bits. Il y a fort à parier que ce type de processeur une fois la gestion de la mémoire intégrée (dans le courant de cette année), et avec un cache plus important, devrait avoir des performances bien plus étonnantes.

Inkscape (utilisant également des nombres flottant) est assez bien multithreadé, ce qui lui permet également de bien bénéficier de l’accélération de ce produit.

français Deux scripts sont apparus pour Blender, permettant de faire des échanges avec les SVG, format natif d’Inkscape.

  • Vectex permet d’importer des SVG sous forme de textures vectorielles dans Blender
  • PantoGraph quant à lui permet d’exporter les rendus des scènes 3D en SVG.
  • english Two scripts come that allow to exchanges files between Blender, Inkscape, using its native SVG format:

  • Vectex can import SVG as vector textures
  • PantoGraph allow to render 3D scenes into a SVG file.
  • Both these new come from Blendernation (its RSS is aggregated on Blender.org home page.

    Blender & eeepc (le nouveau avec écran 8,9′ (1024×600) 12Go de SSD, une webcam 1,3MP et un peu plus fin arrive cet été pour 399 € :) (voir aussi tous les liens en bas de page).

    En attendant voici une capture d’écran de blender mode fenêtre, parfaitement fluide sur l’eeePC (avec les 512Mo de mémoire de base) sous eeeXubuntu.

    Bleeender, blender sur eeepc 701 4G

    Propulsé par WordPress

    Switch to our mobile site