• 09 Juillet 2025, 13:04:46


Auteur Sujet: [Résolu] Lecture d'un gros array  (Lu 1933 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne chneubeul

  • *
  • Gangster
  • GTA Online Addict :)
  • Messages: 1132
    • Voir le profil
[Résolu] Lecture d'un gros array
« le: 18 Août 2012, 16:10:03 »
Bonjour  :)

J'aimerais créé un p'tit système ou le joueur aurait un permis de poser une maison et il la place à l'endroit ou
il souhaite c'est à dire qu'il choisis sa maison. J'ai donc récuperer des données de maison de je sais plus qui
et ca contient enfaite 2250 un peu partout dans san andreas. J'ai donc par un système de fichier lu et "traduit"
les données pour les mettres sous formes d'un array, mais comment lire les données ?
Devrais-je stocker les données dans une table SQL et parcourir par lecture ligne par ligne les positions ?

Sachant que je viens de faire un p'tit test pour lire dans l'array, la console me renvoie une erreur "Out of memory" X'D

Merci, Sam.  :cheers
« Modifié: 19 Août 2012, 11:45:56 par chneubeul »

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : [En cours] Lecture d'un gros array
« Réponse #1 le: 18 Août 2012, 20:39:48 »
Tu fais un query pour sélectionner toute les maisons, ensuite tu fetch ligne par ligne.



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne chneubeul

  • *
  • Gangster
  • GTA Online Addict :)
  • Messages: 1132
    • Voir le profil
Re : [En cours] Lecture d'un gros array
« Réponse #2 le: 19 Août 2012, 11:45:38 »
Merci vieux :p j'vais faire ca et tester en combien de temps il exécute et j'te dis quoi :p

Hors ligne Myk3L

  • *
  • Tueur en série
  • Messages: 197
    • Voir le profil
Re : [Résolu] Lecture d'un gros array
« Réponse #3 le: 19 Août 2012, 15:46:02 »
OPTIMISATION!

Hors ligne chneubeul

  • *
  • Gangster
  • GTA Online Addict :)
  • Messages: 1132
    • Voir le profil
Re : [Résolu] Lecture d'un gros array
« Réponse #4 le: 20 Août 2012, 00:15:52 »
Yoooo :D Alors après un test et un script parfaitement fonctionnel avec un système de fichier XML. Nous trouvons la position la plus proche en environ 60-70ms. C'est très satisfaisant, vive l'XML et l'optimisation.. MDRR

Hors ligne Myk3L

  • *
  • Tueur en série
  • Messages: 197
    • Voir le profil
Re : [Résolu] Lecture d'un gros array
« Réponse #5 le: 20 Août 2012, 02:13:51 »
Avec une bonne optimisation des bool, ça devrait aller plus loin que le string, et filer dans l'array

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : [Résolu] Lecture d'un gros array
« Réponse #6 le: 20 Août 2012, 10:39:28 »
Tu fais une lecture du fichier xml à chaque fois ? ou bien une lecture au début en stockant le tout dans un array ?



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne chneubeul

  • *
  • Gangster
  • GTA Online Addict :)
  • Messages: 1132
    • Voir le profil
Re : [Résolu] Lecture d'un gros array
« Réponse #7 le: 20 Août 2012, 15:32:20 »
Une lecture à chaque fois, pourquoi ? Mais c'est pas tous les minutes qu'un joueur va poser sa maison x)

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : [Résolu] Lecture d'un gros array
« Réponse #8 le: 22 Août 2012, 00:49:58 »
Salut,

mais considérant que tu dois connaitre les positions de tes maisons etc... de temps en temps pour que le joueur interagisse avec les maisons, il est plus rapide de charger une fois, faire les modifications (ajouts, déplacement de maison etc...) directement dans ta mémoire vive et de temps en temps sauvegarder (sur commande peut-être?),.
Sinon en régularisant les sauvegardes tu obtiendras un système plus constant, plus stable. Même si tu fais plein de changements tu n'augmente pas considérablement la charge du serveur....c'est plus fiable en théorie.
60 - 70 ms pendant lesquelles ton serveur ne fait plus rien c'est pas idéal, vaut mieux limiter ce genre de trucs au démarrage (même si la sauvegarde par timer dont je viens de parler entraine le même problème...rien n'est parfait)

++Sim++





Hors ligne chneubeul

  • *
  • Gangster
  • GTA Online Addict :)
  • Messages: 1132
    • Voir le profil
Re : [Résolu] Lecture d'un gros array
« Réponse #9 le: 22 Août 2012, 23:32:43 »
Yop Sim, ca faisait longtemps :p Ben enfaite les maisons je vais pas les modifier, puisque je vais juste vérifier l'endroit ou le joueur met sa maison. Mais en y réfléchissant. Je pourrais intégrer le tout dans un array, et poser un icone à l'endroit de la maison avec une distance très faible, comme ça quand le joueur rentre dessus je n'ai pas à parcourir l'array. Qu'en penses tu ?

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : [Résolu] Lecture d'un gros array
« Réponse #10 le: 25 Août 2012, 23:59:32 »
Salut,

pour le gain de temps et de processing, met tes maisons dans un array (la mémoire que ça représente ne devrait pas atteindre 1 mo sauf si t'as beaucoup de texte associé à chaque maison, alors...)

De plus, si tu met des systèmes quelconques sur tes maisons par la suite, tu aura en tout temps accès facilement à toutes les données de tes maisons....

Je n'ai pas très bien compris ce que tu voulais dire par "des icones avec une distance très faible" qu'ils apparaissent seulement quand le joueur est proche? Je ne me rappelle plus très bien les limites du système de pick-ups mais ce serait très bien pour entrer dans les maisons. Tu peut même couper toute la phase de recherche ainsi...

++Sim++