Je n´ai qu´une seule chose a dire... ASCII pas bo =)
J´ai porté mon format de mesh en binaire et j´ai fait des tests fscanf ( ancienne methode) vs fread ( nouvelle methode =) et voila le resultat. Le " bench" consiste a charger un, puis plusieurs fichiers geometriques.
Pour une idée du poids, la taille de mes data structures :
1 Poly = 3 x unsigned short
1 Vertice = 4 x float
1 UV = 2 x float
Mes fichiers geometriques contiennent egalement qqs infos ( nombre de polys, etc mais c sans incidence ds le poids).
Les mesures du temps sont effectuées de la maniere suivante :
float start = GetTickCount();
CHARGEMENT_DES_MESHES
float end = GetTickCount();
float loading_time = end - start;
donc, c´est plutot fiable =)
TEST 1 ( ficher unique)
Données : 79032 Polys, 63412 Vertices, 63412 UV
--Binaire
Loading : 0,06 sec´ ( !)
Poids dezippé : 1.90Mo
Poids zippé : 842Ko
--ASCII
Loading : 1,914 sec´
Poids dezippé : 3.49Mo
Poids zippé : 740Ko
TEST 1 ( chaine de fichiers)
Données : 3003216 polys, 2409656 vertices
--Binaire ( 38 Fichiers)
Loading : 2,194 sec´
Poids dezippé : 72.2Mo
Poids zippé : 31.9Mo
--ASCII ( 10 Fichiers)
Loading : 21,441 sec´
Poids dezippé : 34.9Mo
Poids zippé : 7.4Mo
note: le poids zippé est consideré avec l´option " fast" de winzip
voila, vive le binaire ! J´ai fait d´autres tests mais j´ai pas tout noté, et puis le loading time est assez proprtionelle aux données ( l´ASCII avec " fscanf" se charge + rapidement en proprtion avec des petits fichiers comparé au binaire ( qui reste constant), mais dans l´absolu l´ascii " fscanf" reste de toutes facons bcp + lent)