13-03-2011, 07:47 PM
(Modification du message : 13-03-2011, 07:52 PM par Asphodèles.)
Bonjour à tous !
Je suis en train de faire quelques tests pour un futur jeu. Comme dans beaucoup d'autres jeux j'ai une petite partie d'une grande map à afficher : ce que le joueur voit du monde.
pour l'instant j'ai créé un fichier map qui est en fait du php :
du coup, c'est extrêmement simple de sélectionner la zone vue par le joueur, vu que je manipule un simple tableau.
Seulement quand je regarde les performances de la chose, petit problème, l'include qui charge cette map met 68ms ! C'est dommage, parce qu'en ressortit la zone qui m'intéresse ne met que 0,2ms...
Dans d'autres langages j'aurais plutôt fait un fichier binaire qu'un script, mais j'imaginais que le parser gèrerait ça facilement.
J'ai aussi vu des types dire qu'ils avaient leur carte en bdd, mais ça me semble encore plus critique que ma solution...
Qu'est-ce que vous me conseillez ? un fichier binaire aurait vraiment de bien meilleures performances ?
Je suis désolé de vous demander plutôt que de tester par moi même, mais vu que je débute, tout me prend beaucoup de temps, et je sais que je passerais longtemps à tester cette solution en binaire.
Merci beaucoup
EDIT : J'ai oublié de dire : la map fait 200*200 soit 100Ko de script, là. Si je la faisais en binaire, elle ferait 200*200*4=156Ko (ça semble paradoxal, mais pour l'instant j'ai bcp de '1' dans la map, alors qu'en fait chaque case serait codée sur 4 octets).
Je suis en train de faire quelques tests pour un futur jeu. Comme dans beaucoup d'autres jeux j'ai une petite partie d'une grande map à afficher : ce que le joueur voit du monde.
pour l'instant j'ai créé un fichier map qui est en fait du php :
<?php
$map=array(
array(1,1,1,1,1,....1),
array(1,1,1,1,1.....1),
array(1,1,1,1,1,....1),
array(1,1,1,.........1),
....
array(1,1,1,.........1)
)
?>
du coup, c'est extrêmement simple de sélectionner la zone vue par le joueur, vu que je manipule un simple tableau.
Seulement quand je regarde les performances de la chose, petit problème, l'include qui charge cette map met 68ms ! C'est dommage, parce qu'en ressortit la zone qui m'intéresse ne met que 0,2ms...
Dans d'autres langages j'aurais plutôt fait un fichier binaire qu'un script, mais j'imaginais que le parser gèrerait ça facilement.
J'ai aussi vu des types dire qu'ils avaient leur carte en bdd, mais ça me semble encore plus critique que ma solution...
Qu'est-ce que vous me conseillez ? un fichier binaire aurait vraiment de bien meilleures performances ?
Je suis désolé de vous demander plutôt que de tester par moi même, mais vu que je débute, tout me prend beaucoup de temps, et je sais que je passerais longtemps à tester cette solution en binaire.
Merci beaucoup
EDIT : J'ai oublié de dire : la map fait 200*200 soit 100Ko de script, là. Si je la faisais en binaire, elle ferait 200*200*4=156Ko (ça semble paradoxal, mais pour l'instant j'ai bcp de '1' dans la map, alors qu'en fait chaque case serait codée sur 4 octets).