|
|||||||
| Dreamshield Logiciel de création d'installations pour les applications .NET. Le site et la documentation |
![]() |
|
|
Outils de la discussion |
|
|
#46 (permalink) |
![]() |
Bon je rame toujours autant pour la diminution de la mémoire (et en passant, améliorer la vitesse de l'enregistrement des gros fichiers, comme un fichier projet complexe de 2 Mo (comme pour le projet d'installation de DreamShield lui même) ou pour l'enregistrement de l'application dans le registre).
Si ce que j'entreprends réussit, l'enregistrement pourra être énormément accéléré et la consommation de mémoire diminuée de plusieurs dizaines de Mo. Mais ça prend du temps. Je ne considère pas la version actuelle (en cours de developpement 0.95) de DreamShield comme stable (uniquement à cause des améliorations de la base de donnée ) et c'est pour celà que je ne l'ai toujours pas publiée. Donc à moins que vous vouliez tester cette version avec de possibles crash, il faudra encore attendre
__________________
The Place Promised in Our Early Days ... Distribution d'applications .NET avec DreamShield DreamShield, Le site, forum, blog, wiki & Jeux Mon blog, les blogs DotNet je ne répondrais aux questions techniques ni par MP ni par email ni par MSN ... le forum est là pour ça |
|
|
|
|
|
#47 (permalink) |
![]() |
Bon au final j'en avais vraiment marre des crash aléatoires et de l'utilisation de mémoire intensive que j'avais avec les modifications apportées à DreamShield.Data.dll.
J'ai donc commencé une nouvelle base de donnée pour DreamShield qui en l'état arrive à gérer 10 000 blocs linéaires avec 1 Mo de mémoire ( ou 512 Ko, ça dépend du nombre maximum de pages chargées en mémoire ) et qui à terme devrais plus ressembler aux bases de données "normales" (avec tables et tout et tout). Ca risque de prendre du temps mais pour l'instant j'ai de belles performances. D'ailleurs c'est une des raisons pour laquelle je suis plus très présent sur le forum (à fond dans le code ).Au final qui sais, ça pourrai finir en une base de donnée capable de tenir sur un système embarqué (vu qu'on peut réduire le nombre de page chargées en même temps à volonté). Pour ce qui est de la taille maximale du fichier elle devrait se compter en théorie à plusieurs To et en pratique à 2 Go, simplement car les Streams du framework utilisent des long et que moi j'utilise des ulong. Pour finir, si un jour vous avez besoin d'un nouveau système de fichier ![]() Bref donc voilà, je boss ...
__________________
The Place Promised in Our Early Days ... Distribution d'applications .NET avec DreamShield DreamShield, Le site, forum, blog, wiki & Jeux Mon blog, les blogs DotNet je ne répondrais aux questions techniques ni par MP ni par email ni par MSN ... le forum est là pour ça |
|
|
|
|
|
#48 (permalink) |
![]() Date d'inscription: mars 2006
Âge: 20
Messages: 1 465
|
C'est une bonne nouvelle, quel gain!
tu dois en avoir du boulot, je te souhaite alors bonne chance!
__________________
Petit poulain devient grand de jour en jour... Modérateur .Net Petit Poulain, ce n'est que pour les intimes! |
|
|
|
|
|
#49 (permalink) | |
![]() ![]() Date d'inscription: mai 2004
Âge: 24
Messages: 2 471
|
Citation:
__________________
- ErrorProviders for WPF - MVP C# - MCP dev winform -Tout problème a une solution, le vrai problème est de trouver la solution ..... - Linux & mono : l'avenir |
|
|
|
|
|
|
#50 (permalink) | |
![]() |
Citation:
La plupart des solutions de bases de données qui existent sont natives avec de simples wrapper managés. Ce qui signifie que les dlls par exemple compilée en mode 32 bits ne pourraient pas se charger sur Vista 64 car DreamShield s'exécute en mode 64 bits sur un OS 64 bits. Ensuite, en général la forme de ces bases de données ne correspondent pas vraiment à l'utilisation que je fait avec DreamShield. Elle doit pouvoir servir à enregistrer des petites valeurs tout comme des blobs de 30 Mo donc une fois de plus les petites bases de données que je trouvent nécessiteraient une modification de toute l'architecture de DreamShield et je préfère réinventer une roue qui s'adapte à ma voiture que de prendre la roue de quelqu'un d'autre en changeant de voiture. Pour finir la base de données doit aussi pouvoir respecter une hiérarchie sans qu'il y ai forcément un schéma précis car l'avantage de DreamShield.Data.dll est de s'adapter à à peut près tout ce que l'on veut. Cette polyvalance n'existe pas sous les autres bases de données car c'est aux applications de s'adapter aux SGDB et par l'inverse. Or l'architecture de DreamShield est déjà faite, donc elle ne changera pas. En faisant mon propre système je suis sur qu'il me convient parfaitement. J'ai aussi regardé du coté des Storages COM ( Compound Files ) mais le nom de chaque entrée ne doit pas dépasser 31 caractères alors que DreamShield.Data est fait pour fonctionner avec un nombre "infini" (2 Gb) de caractères et je me suis donc pas géner pour utiliser des noms longs qu'en j'en avait envie. Donc une fois de plus limitation. De plus je ne peut pas utiliser un gros serveur de base de donnée (genre SQL Server, même la version express) car celà nécessite l'installation du redistributable et comment alors faire un installer qui a une dépendance qui ne sera jamais inclue sur tous les pcs (à l'inverse du .NET Framework) ? pour la version compacte de SQL Server celà métrait un terme à tout espoir de passage sous Mono. Enfin je n'ai pas trouvé de système de fichiers écrit entièrement en C# donc si j'en veux un je suis obligé de le faire moi même. (Enfin si j'en ai trouvé 2 ou 3, mais avec une gestion de la mémoire catastrophique ou qui nécéssites une base de donnée, retour à la case départ). Donc voilà, ce n'est pas une décision prise à la légère.
__________________
The Place Promised in Our Early Days ... Distribution d'applications .NET avec DreamShield DreamShield, Le site, forum, blog, wiki & Jeux Mon blog, les blogs DotNet je ne répondrais aux questions techniques ni par MP ni par email ni par MSN ... le forum est là pour ça |
|
|
|
|
|
|
#51 (permalink) |
![]() ![]() Date d'inscription: mai 2004
Âge: 24
Messages: 2 471
|
Tu fait ce que veux
__________________
- ErrorProviders for WPF - MVP C# - MCP dev winform -Tout problème a une solution, le vrai problème est de trouver la solution ..... - Linux & mono : l'avenir |
|
|
|
|
|
#52 (permalink) |
![]() |
Bon ben ça avance toujours, lentement mais surement. Je sens que j'arrive à la fin du tunnel
![]() Par contre le nouveau DreamShield ne sera pas dutout compatible avec l'ancien donc vous devrez entièrement désinstaller les versions précédentes. Pour les projets cependant j'ai conçu un outil pour importer ceux ci de l'ancien vers le nouveau format donc votre travail ne sera pas à recommencer Et je continue
__________________
The Place Promised in Our Early Days ... Distribution d'applications .NET avec DreamShield DreamShield, Le site, forum, blog, wiki & Jeux Mon blog, les blogs DotNet je ne répondrais aux questions techniques ni par MP ni par email ni par MSN ... le forum est là pour ça |
|
|
|
|
|
#53 (permalink) |
![]() Date d'inscription: mars 2006
Âge: 20
Messages: 1 465
|
Ouai, c'est cool, et tu comptes automatiser les mises à jour?
Car jusque là on devait faire le programme de mise à jour nous-même il me semble, tu peux peut-être créer une classe ou n truc comme ça qu'on appelle au démarrage de notre programme, ce n'est qu'une hypothèse!
__________________
Petit poulain devient grand de jour en jour... Modérateur .Net Petit Poulain, ce n'est que pour les intimes! |
|
|
|
|
|
#54 (permalink) |
![]() |
C'est une idée à laquelle j'avais pensé mais je suis partit dans ma DB et ça me prend du temps
![]() Si tu veux rajoute cette idée à ma Todo List (cf. sur le forum dans les post its ) pour que j'oublie pas
__________________
The Place Promised in Our Early Days ... Distribution d'applications .NET avec DreamShield DreamShield, Le site, forum, blog, wiki & Jeux Mon blog, les blogs DotNet je ne répondrais aux questions techniques ni par MP ni par email ni par MSN ... le forum est là pour ça |
|
|
|
|
|
#55 (permalink) |
![]() |
Je pense que j'y arrive (à la fin de mes malheurs). Bon allez savoir pourquoi la désinstallation de mon test de "gros" projet rame à mort mais installation ou désinstallation, ça ne passe pas 100 Mo (alors qu'avant ça passait les 200) et c'était mon objectif (marre que l'installeur prenne toute les ressources du pc et le rendre inutilisable, provoquant également certains crash signalés pendant l'installation des nouvelles versions de DreamShield. Normalement, ça c'est réglé). Il me restera à essayer d'arranger tout ça et découvrir pourquoi la désinstallation rame (
) mais il est 3h16 du matin donc je vous laisse pour rejoindre mon lit
__________________
The Place Promised in Our Early Days ... Distribution d'applications .NET avec DreamShield DreamShield, Le site, forum, blog, wiki & Jeux Mon blog, les blogs DotNet je ne répondrais aux questions techniques ni par MP ni par email ni par MSN ... le forum est là pour ça |
|
|
|
|
|
#56 (permalink) |
![]() |
News :
Avant, ça ramait mais en fait c'est parce qu'il y avais une erreur à chaque fois qu'un fichier tentait d'être supprimé. L'erreur se trouvait dans les modifications que j'ai fait à mon "système de fichier virtuel" (l'endroit où se trouvent les fichiers à installer, leurs données, paramètres, etc ...) Maintenant ça rame toujours, mais tout tourne rond ![]() Donc je progresse, il faudra maintenant que j'essaye de voir pourquoi maintenant ça rame toujours mais je touche au but ![]() Sinon pour ceux qui ont déjà fait des plugins pour l'installeur (dev01 ?
__________________
The Place Promised in Our Early Days ... Distribution d'applications .NET avec DreamShield DreamShield, Le site, forum, blog, wiki & Jeux Mon blog, les blogs DotNet je ne répondrais aux questions techniques ni par MP ni par email ni par MSN ... le forum est là pour ça |
|
|
|
|
|
#57 (permalink) | |
![]() ![]() Date d'inscription: mai 2004
Âge: 24
Messages: 2 471
|
Citation:
Effectivement on a deux plugins assez basque soit mais qui ont le mérite d'avoir été testé longuement .Il est clair qu'un changement d'archi maintenant ne serait pas un point positif ... Au passage ça intéresse quelqu'un un plugins qui permet de modifier le fichier de conf d'une application et un plugins qui permet de choisir la BD ?
__________________
- ErrorProviders for WPF - MVP C# - MCP dev winform -Tout problème a une solution, le vrai problème est de trouver la solution ..... - Linux & mono : l'avenir |
|
|
|
|
|
|
#58 (permalink) |
![]() Date d'inscription: mars 2006
Âge: 20
Messages: 1 465
|
pourquoi ne pas les publier sur un page dédiée à ça sur developpez dans le domaine de smyley?
Il y aura juste à préciser les auteurs et faire une tite charte.
__________________
Petit poulain devient grand de jour en jour... Modérateur .Net Petit Poulain, ce n'est que pour les intimes! |
|
|
|
|
|
#59 (permalink) | |
![]() ![]() Date d'inscription: mai 2004
Âge: 24
Messages: 2 471
|
Citation:
__________________
- ErrorProviders for WPF - MVP C# - MCP dev winform -Tout problème a une solution, le vrai problème est de trouver la solution ..... - Linux & mono : l'avenir |
|
|
|
|
|
|
#60 (permalink) | |
![]() |
Citation:
![]() Sinon pour les news : je me bas toujours avec des problèmes bizarres ... je HAIS le GC et sa manière de tout Disposer dans un ordre non prévisible
__________________
The Place Promised in Our Early Days ... Distribution d'applications .NET avec DreamShield DreamShield, Le site, forum, blog, wiki & Jeux Mon blog, les blogs DotNet je ne répondrais aux questions techniques ni par MP ni par email ni par MSN ... le forum est là pour ça |
|
|
|
|
|
![]() |
![]() |
||
DreamShield : prochaines versions
|
||
| Outils de la discussion | |
|
|