Bonjour,

Travaillant actuellement sur un Bot Dofus et sur un logiciel de gestion d'items et dialogues.

J'ai décidé de recréer de zero une classe pour chargé et lire les .d2i rapidement en en ne comsommant pas beaucoup de mémoire.

Je me suis dis que peut être des nouveaux venu avait la flemme de comprendre et d'écrir le reader.

Je ferais aussi une version pour les d2o après.

Description

C'est une Class Library (.dll) en VB.NET

Il y a la possibilité d'utiliser l'option FastLoad qui permet d'economiser plus de ram.

FastLoad:

Le FastLoad lit à chaque fois les indexes du fichier. Ceci permet d'alléger la mémoire utilisé au runtime. Cette option est pratique pour les gens qui ont pas beaucoup de d2i à récupérer. En revanche une query sera plus lente si elle est vers la fin des indexes.

Mémoire: environ 6,4Mo

Query: 0ms à 97ms

Le But serait d'impléménter un système de cache par la suite.

SlowLoad:

Le SlowLoad de son côté charge toutes les informations d'un coup en mémoire. Ceci signifie une utilisation importante mais permet d'avoir un temps de query très petit.

Mémoire: environ 64,5Mo

Query: 0ms à 2ms

Temps de chargement: environ 1300ms

il y a aussi la possibilité de choisir d'afficher le texte du d2i avec son mode diacritique ou non. Ainsi que d'afficher les textes des messages ui (ui.chat.check0).

Version

1.1.0.0 (actuelle) :

- Ajout de la fonction GetUi

- Revue complète du SlowLoad et FastLoad

1.2.0.0 (prochaine) :

- Ajout d'un système de cache pour le FastLoad

- Ajouter le SlowLoad et FastLoad aux UI

- Ajouter les diacritique au GetUi

Fonctionnement

Class FastReader:

Chemin: le chemin du d2i

FastLoad: Activer ou désactiver le FastLoad

Fonction GetText:

ID: l'ID du texte associé

Diacritique: Afficher la version diacritique du texte.

Fonction GetUi:

MySearch: le message ui dont il faut trouver le texte.

Exemple

VB.NET


Dim myReader As New FastReader(pather & "\i18n_fr.d2i", True)
Console.WriteLine(myReader.GetText(1, False))
Console.WriteLine(myReader.GetUi("ui.chat.check6"))

C#


FastReader myReader = new FastReader(pather + "\\i18n_fr.d2i", true);
Console.WriteLine(myReader.GetText(1, false));
Console.WriteLine(myReader.GetUi("ui.chat.check6"));

Screens

Slow Load:

[Image Introuvable]

Fast Load:

[Image Introuvable]

Téléchargements

Virus Total:

https://www.virustotal.com/en/file/f44c24bb9b6c917ea7fc85b40b49f0068eda5be9764464d59294d56349ae2c2f/analysis/1498565553/

Download:

https://mega.nz/#!N35jRYLS!SIq2jrPUu5I0rmTEACoBdN56NGlaqRfpNTkWWfNKdAg

Cordialement,

The Falcon

Mise à Jour:

1.1.0.0 (actuelle) :

- Ajout de la fonction GetUi

- Revue complète du SlowLoad et FastLoad

Explication FastLoad et SlowLoad:

FastLoad:

Le FastLoad lit à chaque fois les indexes du fichier. Ceci permet d'alléger la mémoire utilisé au runtime. Cette option est pratique pour les gens qui ont pas beaucoup de d2i à récupérer. En revanche une query sera plus lente si elle est vers la fin des indexes.

Mémoire: environ 6,4Mo

Query: 0ms à 97ms

Le But serait d'impléménter un système de cache par la suite.

SlowLoad:

Le SlowLoad de son côté charge toutes les informations d'un coup en mémoire. Ceci signifie une utilisation importante mais permet d'avoir un temps de query très petit.

Mémoire: environ 64,5Mo

Query: 0ms à 2ms

Temps de chargement: environ 1300ms

2 mois plus tard

Bonjour et merci, comment ouvrir le .dll ?

    Lorgan

    Bonjour et merci, comment ouvrir le .dll ?

    une dll ne s'ouvre pas c'est pour coder...