maitretarot-devel-fr
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Maitretarot-devel-fr] avance des clients/ia


From: philippe brochard
Subject: Re: [Maitretarot-devel-fr] avance des clients/ia
Date: 26 Oct 2002 23:23:18 +0200
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2

nico <address@hidden> writes:

> On 26 Oct 2002 14:42:14 +0200
> philippe brochard <address@hidden> wrote:
> 
> > Yves Mettier <address@hidden> writes:
> > 
> > > Coucou!
> > > 
> > > Concernant select, suite a discussion avec nico sur irc, un select
> > > propre est pour lui un select qui ne se contente pas que d'attendre un
> > > timeout, mais qui attend aussi des infos sur des filehandles.
> > > 
> > > Dans maitretarot, cela n'a aucune signification. En effet, il y a un
> > > thread pour la lecture des infos via la socket, et les read sont
> > > bloquants.
> > > Les usleep (ou select qu'il faudrait mettre a la place pour des
> > > raisons de compatibilite POSIX), ce ne sont que des attentes pour ne
> > > pas monopoliser le processeur dans une boucle d'attente. Donc on
> > > pourrait tres bien supprimer ces usleep, cela ne changerait pas grand
> > > chose a part peut-etre monopoliser un peu plus le processeur,
> > > inutilement.
> > > 
> > > Concernant la lenteur dont se plaint Nico (et que je remarque sur
> > > freebsd alors qu'il n'y a aucun probleme sur mon linux), ce n'est ni
> > > un probleme de CPU ni un probleme de traffic reseau. C'est un
> > > probleme de latence. Reste a determiner ou se trouve cette latence, et
> > > a la reduire.
> > > 
> > Il y a toujours un truc qui me fait bizarre au niveau de 
> > libmt_channels_set_has_enough_data_to_read (fonction
> > player_read_data, libmt_player_client.c ligne 76),
> > on ne passe jamais dans la boucle while, autrement dit
> > libmt_channels_set_has_enough_data_to_read indique tout de
> > suite qu'il y a assez de donnee a lire => en gros le while
> > ne sert a rien. Enfin c'est peut etre normal.
> > 
> > > Enfin, suggestion de Nico: des qu'on sera passe a de reelles machines
> > > a etats, on pourra aussi passer de TCP a UDP. Ca devrait encore
> > > ameliorer les choses. Et cette modif est transparente, normalement:
> > > tout doit etre fait dans libmaitretarot, et peut-etre que ces modifs
> > > se limitent meme a net.c! Mais ca, c'est pour plus tard. D'abord la
> > > machine a etats.
> > > 
> > Ok pour le passage TCP a UDP, de toute facon on commence a
> > avoir assez d'abstraction pour changer de systeme, ce ne
> > sont que les couches vraiment basses qui vont etre impactees.
> > et effectivement, il faut faire la machine a etats avant.
> > 
> > > Et Nico, ne focalise pas trop sur la vitesse, a moins que tu ne t'y
> > > consacres a 100%.
> > > 
> > De toute facon, la vitesse du protocole importe peut comme
> > l'ia est sensee jouer une bonne carte valide du 1er coup.
> 
> J'ai une ia qui donne une bonne carte du premier coup (sisi). J'ai collé
> qq assert pour vérifier certain point et ensuite, je laisse tourner.
> Et même avec ça, je trouve que c'est lent, vu le peu de chose qui se passe.
> 
Yyeeepppiiii! quand est-ce que tu la commit, qu'on la test ?

> > Et personnelement, quand je joue avec mt_gtk_client, les IA
> > ont deja joue que j'ai pas eu le temps de reflechir a la cartes
> > que j'allais mettre :)
> > 
> 
> Yep ! Sauf que pour les testes, c'est dommage. Je pourrais en faire 10x plus.
> 
ah oui, vu sous cet angle la c'est vrai que ca doit ramer un peu,
mais bon, c'est pas l'utilisation finale de maitretarot, la vitesse
actuelle de maitretarot est largement suffisante pour un jeu "normal".


Philippe


-- 
(    )
 ~oo~         Philippe Brochard    <address@hidden>
  .. Gnu!                           http://hocwp.free.fr
  / =\   \=
 -   -    -   -=-= http://www.fsf.org/home.fr.html =-=-




reply via email to

[Prev in Thread] Current Thread [Next in Thread]