par got4close » 09 Mars 2008 10:48
Le problème du codage du jeu, c'est l'extraction des sprites.
En effet, le fichier data.grf du dossier ragnarok contient, entre autre, tous les fichiers image du jeu. Celui ci est hashé pour éviter qu'on aille fouiller dedans (au passage, une simple recherche google permet de trouver des softs pour lire dedans...).
Donc, dès qu'une image doit apparaitre dans le client, le ragexe dehash le fichier, en consommant de la ressource proc, puis la charge dans la mémoire vive. Le deuxième problème vient de la gestion des sprites.
Premier point : quand une image doit etre travailler par un moteur graphique, elle est transformer en un format qui prend une place folle.
Secundo : le jeu a été codé avec des pieds. Au lieu de charger 1 sprites et de le réutiliser, le jeu charge X sprites pour chaque objet. Rappelez vous vos lag quand vous TP dans un endroit super mobbé. En fait, ragexe va dézipper 50 fois le sprites, le charger 50 fois en mémoire ce qui provoque ce lag infâme.
Et ça, c'est que pour le coté client.
Passons au serveur.
Comment expliquer vous que eAthena fasse tourner 1200 joueurs sans lag sur 1 serveur lamba alors que eAegis a besoin d'au moins 1 char serv, 1 log serv et xxx map serv pour un serveur comme fRO (pas plus de 900 joueurs)??? Comme toujours, codage avec les pieds... (mais je sais pas expliquer d'où ça vient par contre :3 )
// //