JeuWeb - Crée ton jeu par navigateur
Vitesse d'un RPG AJAX : la faute au serveur ? - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Vitesse d'un RPG AJAX : la faute au serveur ? (/showthread.php?tid=5268)

Pages : 1 2 3 4 5 6


RE: Vitesse d'un RPG AJAX : la faute au serveur ? - Cawrotte - 19-02-2011

Merci beaucoup pour ce conseil.
Je vais me documenter à ce sujet.


RE: Vitesse d'un RPG AJAX : la faute au serveur ? - php_addict - 19-02-2011

as tu essayer la commande EXPLAIN pour voir comment sont traitées tes requetes?

genre EXPLAIN SELECT id FROM joueur WHERE pseudo = 3

si l'anglais ne te fait pas peur : http://www.devshed.com/c/a/MySQL/MySQL-Optimization-part-1/2/


RE: Vitesse d'un RPG AJAX : la faute au serveur ? - Zack - 19-02-2011

Pour te donner un exemple, j'ai une carte en flash (Donc déjà pas de chargement d'image puisqu'elles sont toutes chargées en un coup), mais je balance au moins une requête par seconde en AMFPHP (Même principe que l'ajax mais les données sont compressés), et j'ai un serveur dédié à 4 coeurs avec 7 Go de RAM, et bien, dès qu'il y a plus de 50 joueurs en ligne, ça commence à devenir injouable.

Du coup, je suis entrain de tout repasser en push avec beaconpush, qui j'espère sera largement mieux.

Enfin tout ça pour te dire que si tu comptes que ton jeu accueille un grand nombre de joueurs, faire du temps réel en AJAX n'est pas du tout jouable.
Je te conseille vraiment de directement voir avec un serveur de push.


RE: Vitesse d'un RPG AJAX : la faute au serveur ? - Viciousity - 19-02-2011

Ben je pense comme Sephi pour ce qui est du choix de la technologie ...
Perso je travaille avec BeaconPush et je n'ai vraiment aucun probleme de latence ni rien.

Ajax est bien mais imaginons que tu aies 3000 joueurs sur le jeu...


RE: Vitesse d'un RPG AJAX : la faute au serveur ? - Cawrotte - 19-02-2011

Oui mais mon moteur de génération des maps en fonction de la BDD est côté serveur en PHP.
Bonjour si je dois le refaire en JS :o


RE: Vitesse d'un RPG AJAX : la faute au serveur ? - Cawrotte - 19-02-2011

@Zack : Prends Alidhan : 17000 joueurs, 250 en ligne et tout est en AJAX.

--

Bon j'ai regardé : le serveur met 800 MS et le client 1000 ms pour générer 200 images dans un div...
Y'a environ 4 requêtes. (+le t'chat => 10 requêtes toutes les 20 secondes)

Je vais démarrer en AJAX, et réfléchir progressivement à installer Beaconpush.
Mais bon... ca m'enchante pas Beaconpush. J'en garde un très mauvais souvenir (messages qui ne s'affichent pas, script client a crever...)
Mais d'où vient la lenteur ?
du serveur ou du serveur SQL ?
Si c'est le SQL c'est pas un problème, c'est pas gourmand en ressources si je prends un dédié...
Côté bande passante, pour 10000 div affichés ca ne fait que 300 MO.

Où est le problème avec AJAX en fait ?


RE: Vitesse d'un RPG AJAX : la faute au serveur ? - php_addict - 19-02-2011

je me répète mais as tu déjà fait le test EXPLAIN sur tes requetes ?

rien à voir mais (à vérifier) :
j'avais un script qui utilisait PDO::LastInsertId, cela prenait un temps fou...j'ai mis le tout dans une transaction, et hop...plus de soucis de vitesse...ne me demandez pas pourquoi j'en sais rien...je suis passer de 2sec à 0.030sec en localhost

vérifies l'indexage de tes tables, peut être que cela ne sera pas suffisant...


RE: Vitesse d'un RPG AJAX : la faute au serveur ? - Cawrotte - 19-02-2011

Ca s'indexe une table ? oO
Je ne comprends pas le problème de requêtes.

Je verrai ca demain, bonsoir Wink


RE: Vitesse d'un RPG AJAX : la faute au serveur ? - Nosrehl - 20-02-2011

Bon je sors d'une soirée et j'ai un peu picolé, mais ajax ne donnera que les résultats que tu lui demanderas, utilisé intelligemment ça casse tout.
Evidemment si tu lui demandes d'un coup donne moi tout ce que je veux, ça peut prendre du temps, mais si tu lui demandes prévois ce qu'il me faudra, ça peut passer tout seul...

Je ré-invente ici le principe de wow, à savoir le principe de chargement continu : par exemple, tu peux charger les zones adjacentes pendant que le joueur doit choisir une action (qui ne peut être que se déplacer d'une case), chais pas, j'ai pas tout compris de la discussion.


RE: Vitesse d'un RPG AJAX : la faute au serveur ? - Sephi-Chan - 20-02-2011

Je pense que le problème ne vient pas des requêtes, qui sont sans doute simples, mais de la quantité de données inutiles réclamées au serveur.

Et puis, pour le push, il n'y a pas que BeaconPush, même si je pense que la plupart des problèmes sont de ton fait (si le service fonctionnait si mal, ils ne le vendraient pas).


Sephi-Chan