 |
 |
Developpement Empirium
|
 |
 |
 |
 |
|
 |
 |
 |
 |
 |
Apocalypse Mais débranchez l'bordel !!

Inscrit le: 25 Nov 2005 Messages: 3697 Localisation: Commodore Supernova's Feeling  |
Posté le: Lun 01 Mar 2010, 08:26 Sujet du message: Optimiser les numéros de modules |
 |
|
Ca me parait clair dans le titre.
Je viens de regarder mes soutes:
27254705
Ca fait un peu mal à retenir
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
 |
|
|
|
|
|
 |
 |
 |
 |
 |
Max Créateur du Jeu

Inscrit le: 23 Jan 2003 Messages: 8277
 |
Posté le: Lun 01 Mar 2010, 10:19 Sujet du message: |
 |
|
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
 |
|
|
|
|
|
 |
 |
 |
 |
 |
Lord Kepler Seigneur a clavier intégré

Inscrit le: 25 Oct 2009 Messages: 151
 |
Posté le: Lun 01 Mar 2010, 10:37 Sujet du message: |
 |
|
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. |
|
|
|
|
|
 |
 |
 |
 |
 |
Max Créateur du Jeu

Inscrit le: 23 Jan 2003 Messages: 8277
 |
Posté le: Lun 01 Mar 2010, 12:25 Sujet du message: |
 |
|
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  _________________ AUCUN HRP sur les forums RP merci
 |
|
|
|
|
|
 |
 |
 |
 |
 |
Pia Ceatin Seigneur piplette

Inscrit le: 28 Aoû 2009 Messages: 83
 |
Posté le: Lun 01 Mar 2010, 13:30 Sujet du message: |
 |
|
Tu les fouettes pour qu'ils bossent à ta place  |
|
|
|
|
|
 |
 |
 |
 |
 |
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  |
Posté le: Lun 01 Mar 2010, 18:03 Sujet du message: |
 |
|
Il les preferent griller a la sauce tartare  _________________ Starbuck , Prince-Marchand Goa'uld
Ambassadeur de l'Universalis
Force et Honneur |
|
|
|
|
|
 |
 |
 |
 |
 |
|
 |
 |
 |
 |
|
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
|
|
|
 |