• Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
[C#] Fast D2I Reader DLL 2.4X
#1
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

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


C#

Code :
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: 1498568061-goodslowperf.png]

Fast Load:
[Image: 1498565803-goodfastperf.png]

Téléchargements

Virus Total:
https://www.virustotal.com/en/file/f44c2...498565553/
Download:
https://mega.nz/#!N35jRYLS!SIq2jrPUu5I0r...TkWWfNKdAg

Cordialement,
The Falcon
  Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)