Developpement Empirium Index du Forum Developpement Empirium



Optimiser les numéros de modules

 
Poster un nouveau sujet   Répondre au sujet    Developpement Empirium Index du Forum -> Evolutions & nouveautés - ][
Voir le sujet précédent :: Voir le sujet suivant  
Apocalypse
Mais débranchez l'bordel !!


Inscrit le: 25 Nov 2005
Messages: 3697
Localisation: Commodore Supernova's Feeling

 MessagePosté le: Lun 01 Mar 2010, 08:26    Sujet du message: Optimiser les numéros de modules Répondre en citant Back to top

Ca me parait clair dans le titre.

Je viens de regarder mes soutes:

27254705

Ca fait un peu mal à retenir Clin d'oeil

Si j'ai bien compris c'est juste un entier qui est affecté à chaque module, au fur et à mesure de la partie?

Question 1:

1-Pourquoi ne pas recycler les ID vides?
2-Si le but est bien d'avoir une ID unique, pourquoi ne pas le faire par compte joueur sous le format ID Seigneur + XXXXXX? Comme ça le recyclage est d'autant plus aisé: quand le seigneur détruit son compte, hop! toutes les ID associées à ce seigneur se retrouvent vidées.
Ca implique aussi de recycler les ID Seigneurs.

Pourquoi cette idée?

Parce que même si je ne connais pas le fonctionnement des calculs en php/SQL, j'ai cru comprendre qu'un calcul informatique était plus rapide quand on évitait les trop grandes valeurs.

L'idée est donc de recycler les ID vides

(Pour la comparaison, je pense au langage de Warcraft 3, le jass, un type a mis au point une library qui permet d'affecter une ID unique à toute unité pendant le jeu, et à cause des limites structurelles, on est limité à 8192 ID en même temps, donc il a créé un système de recyclage. Et c'est le système d'identification des objets ingame le plus rapide qu'on ait jamais eu.)

Et d'autre part pour nous ça devient plus facile à gérer :p
_________________
Maître Apocalypse
 
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger
Max
Créateur du Jeu
Créateur du Jeu


Inscrit le: 23 Jan 2003
Messages: 8277

 MessagePosté le: Lun 01 Mar 2010, 10:19    Sujet du message: Répondre en citant Back to top

Côté performance, je ne pense pas que ce soit un problème. Les experts SQL me corrigeront.

En plus, la gestion de ce numéro est totalement automatisée (numéro auto-incrémental géré par la base).

Je pense que cela ferait bcp de travail (il faut penser à tous les cas de figure possibles engendrant des destructions/créactions de modules).

Pour le confort, c'est sûr que ce serait mieux.

A la rigueur je verrai pour réattribuer tous les numéros, et redescendre le numéro automatique. Car il n'y a pas 27 millions de modules.
_________________
AUCUN HRP sur les forums RP merci
 
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail
Lord Kepler
Seigneur a clavier intégré


Inscrit le: 25 Oct 2009
Messages: 151

 MessagePosté le: Lun 01 Mar 2010, 10:37    Sujet du message: Répondre en citant Back to top

Max a écrit:
Côté performance, je ne pense pas que ce soit un problème. Les experts SQL me corrigeront.


Gérer les clés primaires ou clés de recherche comme des chaînes de caractères et non des entiers a en effet tendance à dégrader les performances. Avec un mot de 4 octets, tu gères 2 ou 4 milliards de clés, ce qui devrait permettre de jouer à Empirium durant plusieurs décennies.

Max a écrit:
En plus, la gestion de ce numéro est totalement automatisée (numéro auto-incrémental géré par la base).

Je pense que cela ferait bcp de travail (il faut penser à tous les cas de figure possibles engendrant des destructions/créactions de modules).


Si la nouvelle clé contenait l'ID du seigneur, ça poserait également problème lors d'une cession de planète, vaisseau ou module condensé. A moins de changer la clé lors de la cession, mais il est préférable de garder le même identifiant tout au long de la vie d'un objet.

Max a écrit:
Pour le confort, c'est sûr que ce serait mieux.

A la rigueur je verrai pour réattribuer tous les numéros, et redescendre le numéro automatique. Car il n'y a pas 27 millions de modules.


Une autre solution : tu gardes l'ID actuel comme clé primaire, pour les performances, mais elle n'est jamais visible par l'utilisateur. Et à côté de cette clé interne tu as, pour le confort, un champ calculé, également unique, mais plus lisible, et c'est cet ID que voit l'utilisateur (et qu'il fournit sur le forum quand il veut signaler un bug). Et là, ça pourrait même être une chaîne de caractères, ce n'est plus un problème.
 
Voir le profil de l'utilisateur Envoyer un message privé
Max
Créateur du Jeu
Créateur du Jeu


Inscrit le: 23 Jan 2003
Messages: 8277

 MessagePosté le: Lun 01 Mar 2010, 12:25    Sujet du message: Répondre en citant Back to top

Lord Kepler a écrit:

Une autre solution : tu gardes l'ID actuel comme clé primaire, pour les performances, mais elle n'est jamais visible par l'utilisateur. Et à côté de cette clé interne tu as, pour le confort, un champ calculé, également unique, mais plus lisible, et c'est cet ID que voit l'utilisateur (et qu'il fournit sur le forum quand il veut signaler un bug). Et là, ça pourrait même être une chaîne de caractères, ce n'est plus un problème.


Chuuuuuuuuuttt !
J'y avais bien pensé mais je voulais pas le dire !
Si maintenant il y a des cracks du développement qui m'enlèvent mes excuses techniques, comment je fais moi Moqueur
_________________
AUCUN HRP sur les forums RP merci
 
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail
Pia Ceatin
Seigneur piplette


Inscrit le: 28 Aoû 2009
Messages: 83

 MessagePosté le: Lun 01 Mar 2010, 13:30    Sujet du message: Répondre en citant Back to top

Tu les fouettes pour qu'ils bossent à ta place Sourire
 
Voir le profil de l'utilisateur Envoyer un message privé
Starbuck
Concierge


Inscrit le: 09 Déc 2003
Messages: 1510
Localisation: La ou les affaires m'appellent - Dish'tra de l'Alliance des Grands-Maitres Goa'ulds

 MessagePosté le: Lun 01 Mar 2010, 18:03    Sujet du message: Répondre en citant Back to top

Il les preferent griller a la sauce tartare Maléfique
_________________
Starbuck , Prince-Marchand Goa'uld
Ambassadeur de l'Universalis
Force et Honneur
 
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Developpement Empirium Index du Forum -> Evolutions & nouveautés - ][ Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 1

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum