Derniers journaux de NickNolte :
- [10/10@23:40] Gnome à la poubelle!
- [29/09@23:55] Utilisez Jabber!
- [12/09@00:19] Yo Franckie! Le jeu disponible pour des tests
- [29/03@22:35] Connaissez vous le format NUT?
- [08/12@02:02] L'effroyable imposture 2
- [14/11@01:33] TV5 : le 3950, Internet à fliquer.
- [08/11@01:06] Fusion-IO, l'unité de stockage du futur-présent?
Journal : Blender - explication du DNA
Posté par NickNolte () le 02 décembre 2008Je suis un peu le developpement de Blender, notamment la très attendu 2.50 et outre que ce petit programme m'impressionne déjà du haut de ces 15Mo, je suis toujours enchanté de voir ce genre de pratiques astucieuses expliquées.
En gros, ça présente l'évolution de la façon dont Blender structure ses données:
http://www.blendernation.com/2008/12/01/blender-dna-rna-and-(...)
Je n'ai pas une très grande expérience dans le developpement d'application, ça peut donc paraître trivial pour certains, toujours est-il que je trouve la chose géniale.
> Lire le journal (10 commentaires, moyenne: 2,1).
Protocol Buffers
Comme dit dans l'article, Blender utilise une méthode de sérialisation binaire proche de Protocol Buffers de Google :
https://linuxfr.org//~Snarky/26911.html
Par contre, Blender a implémenté ce mécanisme bien avant que Google publie son protocole. Ca n'a rien d'extraordinaire mais c'est tout de même très astucieux et bien pratique.
ce n'est pas le DNA
mais LES DNA, seuls les Alsaciens comprendront.
-
[^]Re: ce n'est pas le DNA
Posté par libre Cuauhtémoc (page perso, ) le 02/12/2008 à 18:40. (lien). Évalué à 1.Pour les moinsseurs, lorsqu'on va en Alsace, on parle des "Dernières Nouvelles d'Alsace", abrégés en DNA.
voir :
http://www.dna.fr
Elle est où l'explication ??
j'ai suivi ton lien et je n'ai pas trouvé d'explication sur le fonctionnement de leur format et comment ils assurent la compatibilité.
J'ai un problème de navigateur ou de cerveau (sûrement les deux...) ? Parce que ça m'intéresse vraiment et j'aimerai savoir comment ils font ça.
-
[^]Re: Elle est où l'explication ??
Posté par NickNolte () le 02/12/2008 à 18:50. (lien). Évalué à 1.page généraliste sur l'archi de blender
http://www.blender.org/development/architecture/
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/Data(...)
-
[^]Re: Elle est où l'explication ??
Posté par dark_star () le 02/12/2008 à 22:32. (lien). Évalué à 2.pour un resumé qui donne une idée vraiment rapide :) :
dna c'est l'equvalent de ADN en francais, oui oui le truc biologique
http://en.wikipedia.org/wiki/DNA
http://fr.wikipedia.org/wiki/Acide_d%C3%A9soxyribonucl%C3%A9(...)
le plus gros avantage c'est apparement que le format de fichier DNA permet de lire meme les sauvegardes des version 1.0 de blender
me demande pas pourquoi, je ne sais pas. mais ce ne serais pas mieux pour open office ce genre de truc ?-
[^]Re: Elle est où l'explication ??
Posté par Frédéric COIFFIER () le 02/12/2008 à 23:21. (lien). Évalué à 1.OpenOffice 3.0 (format OpenDocument 1.1 si je ne me trompe pas) ouvre les fichier de OpenOffice 2.0 (qui sauvait en OpenDocument 1.0).
Donc, ça fonctionne.
-
[^]Re: Elle est où l'explication ??
Posté par Matthieu Lagouge (Jabber id, page perso, ) le 03/12/2008 à 02:15. (lien). Évalué à 3.Alors personnellement je n'y connais rien en formats de données ni les pro et cons dans leur utilisation dans de tels programmes.
Mais pour OpenOffice, je crois que c'est mort, parce que si on change le format de données maintenant, d'une part ça ne va pas enthousiasmer tous ceux qui ont trimé pour la normalisation ISO, ceux qui ont implémenté ou commencé à implémenter le support d'ODF dans leurs suites, et enfin je vois mal en quoi changer radicalement la manière de stocker les données va faciliter la rétrocompatibilité...
Je crois que pour Blender, l'avantage, c'est que c'est comme ça depuis le début (ou presque), non?
-
[^]Tentative d'explication
Posté par Clément David (Jabber id, page perso, ) le 03/12/2008 à 08:23. (lien). Évalué à 3.D'après ce que j'ai compris leur sDNA (pour struct DNA) permet de représenter un objet de façon arborescente (jusque le identique à XML) et de le stocker dans un format binaire.
Typiquement toutes les données sont typées et enregistrées suivant un format binaire connu et non-changé (pour google : [http://code.google.com/apis/protocolbuffers/docs/encoding.ht(...)]). On stocke alors une représentation des données à la version N (le modèle en UML ou la struct en C) ainsi que les données elle-mêmes.
A la lecture on connaît la représentation des données à la version actuelle M et on sait que l'encodage n'a pas changé. Toutes les données sauvegardé sont chargés dans la représentation des données M suivant l'algorithme suivant :
- si l'élément existe dans N et dans M alors on le charge directement
- si l'élément existe dans N mais pas dans M on l'ignore
- si l'élément existe dans M mais pas dans N on le fixe à une valeur par défaut.
En appliquant ces règles on conserve une portabilité binaire entre les versions si les représentations de données ne changent pas trop.
Concernant les différences avec XML on peut considérer ceci :
- Un codage binaire est beaucoup beaucoup beaucoup plus performant que du XML
- Un codage binaire est illisible pour un humain
- En XML on peut réaliser des règles de transformations XML -> XML donc la portabilité entre versions est toujours assurée à partir de ses règles
Sur ce bonne lecture :)-
[^]Re: Tentative d'explication
Posté par Clément David (Jabber id, page perso, ) le 03/12/2008 à 10:51. (lien). Évalué à 2.(La suite)
Pros sDNA (ou Protocol Buffer) :
- Les performances sont excellentes (pas d'analyse de texte lourde)
- Représentation et données stocké dans un même fichier (facilite le suivi de versions)
Cons sDNA :
- ne permet pas d'interchanger des données entre programmes écrit dans différents langages (ProtocolBuffer de google génère les structures de données dans chaque langage à partir d'une description)
- ne fournit pas de facilitées pour valider et transformer les données
-
-
Les journaux sont destinés à des informations qui ne sont pas suffisamment intéressantes
pour être validées en dépêche (sinon n'hésitez pas à proposer votre information en
dépêche), qui sont sans rapport avec Linux ou le libre, ou simplement pour donner votre
avis. Si vous désirez poser une question, merci d'utiliser 

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.
Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.