Optimiser la connection internet dans Q3A
Vous trouverez donc une explication des
variables et commandes qui pourront améliorer votre connection et la fluidité, ainsi qu'un exemple d'utilisation (a
priori le plus approprié dans la majorité des cas)
Ménager la
connection : limiter l'envoi de données
cl_maxpackets : restreint le
nombre de packet envoyés au serveur pour ménager la
connection du joueur. Cela ne diminue pas le nombre de frames
rendues à l'affichage de celui-ci, contrairement à ce que
faisait cl_maxfps dans Quake2
La variable cl_maxfps existe
encore, mais n'a plus donc lieu d'être utilisé dans le
cadre de l'optimisation de la connection.
On pourra donc a priori
avoir un bon rafraichissement des calculs d'images tout en
limitant les infos sortantes.
Dans votre cfg :
set cl_maxpackets 40
set cl_maxfps 999
Ménager la
connection : limiter la réception de données
La variable qui permet de
limiter la réception reste rate, dont la valeur dépend de
votre connection. Un rate trop haut vous fera lagguer, un
rate trop bas rendra le monde extérieur (les objets dans la
map, les autres joueurs) saccadé.
En gros, ayez à l'esprit
que la valeur optimale du rate sera un peu inférieure à
celle que vous utilisiez dans QW ou Q2.
Dans votre cfg :
set rate XXXX
ou XXXX vaut : 2500 pour une
connection 28.8, 3000 pour un modem 33.6, 3500 pour un modem
56k, 5500 pour du numeris 64k.
Eventuellement, jouez avec
la variable snaps : les serveurs Quake3 calculent la
situation du jeu à une fréquence de 40 Hz (ils font le
point, un snapshot, 40 fois par secondes). La valeur de la
variable snaps est la fréquence avec laquelle l'ordinateur
du joueur va demander au serveur de lui envoyer les
informations. Par défaut elle est de 20 Hz. Une valeur de 40
Hz fera que la limite du rate sera atteinte plus rapidement.
Il faut utiliser comme valeur des diviseurs de 40 : 40, 20,
10.
Dans votre cfg :
set snaps 20 (défaut)
Ajouter du lag
sur sa machine
Effectivement, on peut. Si
vous tenez à jouer sur un serveur qui a beaucoup de packet
loss, vous pouvez ajouter un délai (lag) coté client pour
être toujours sûr que votre ordinateur fera des
interpolations et non des extrapolations, ce qui rendra le
jeu plus fluide. A priori, la valeur de cette variable est en
millisecondes, comme pour le ping.
Heh, on pourra même
s'entrainer à railer avec un ping de 200 ms contre des bots
alors :-)
Dans votre cfg :
set cg_timenudge 0 (défaut)
set cg_timenudge 100 (100 ms
de ping en plus)
Surveiller son
lag : le "lagometer"
Le graphique du haut (bleu
et jaune) se déplace d'un pixel vers la gauche pour chaque
frame calculée. Les barres bleues sous la ligne indiquent
qu'une image (une frame) a été correctement interpolée
entre deux arrivées d'informations du serveur (deux
snapshots). Une barre jaune au dessus indique une image
calculée en retard, la longueur de la barre étant
proportionnelle au retard.
Le graphique du bas (vert,
jaune, rouge) est l'équivalent du netgraph de Quake2. Il se
déplace d'un pixel pour chaque snapshot reçu. Par défaut,
il se déplace donc de 20 pixels par seconde. Une barre verte
ou jaune indique un snapshot reçu correctement, la hauteur
de la barre étant proportionnelle au ping. Une barre jaune
indique qu'un snapshot a été intentionnellement omis pour
rester en dessous de la limite du rate. Une barre rouge
indique que le client n'a rien reçu du serveur (packet
loss).
Le graphique du haut indique
donc la stabilité de la connection. Dans l'idéal, on
devrait n'avoir que des barres bleues d'un ou deux pixels de
haut. Du jaune montre que la connection n'est pas stable.
En cas d'action intense, les
joueurs sur modem verront des barres jaunes sur le graphique
du bas, qui redeviendront vertes quand l'action sera plus
calme. S'il y a du rouge, il faudra songer à trouver un
serveur avec moins de packet loss.
Surveiller la
rapidité de calcul d'image (le FPS)
La variable cg_drawFPS peut
prendre la valeur 0 ou 1, et 1 affichera un compteur de FPS
(Frame Per Second) en temps réel dans le coin.
Dans votre cfg :
set cg_drawFPS 1
|