[Informations] Tickrate, FPS et Interpolate


mTx67

Messages recommandés

Bonjour,

je fais un post pour clarifier un peu les choses auprès de certaines équipes qui ne conaissent pas quelques points du moteur source et qui se permettent de critiquer des choses tels l'utilisation

de la commande cl_interpolate, et le tickrate du serveur. Je vous conseille vivement de lire attentivement ce qui va suivre, 80% d'entre vous apprendront quelques chose j'en suis certains!

Déjà, l'interpolate, c'est quoi??

c'est une commande à rentrer dans la console, qui peut avoir différentes valeurs, si vous mettez lavaleur à 0 cela vous donnera

ceci:

positions_interpolate_0.jpg

Les ronds bleu représentent les positions d'un joueur.

En effet, un joueur envoit sa position au serveur ainsi que d'autres informations (tirs etc).Si jamais ce joueur joue en tickrate 33 (que ce soit à cause de ses réglages ou du serveur) il enverra peu souvent ses informations au serveur, et avec l'interpolate 0, vous le verrez "laguer", mais au moins vous verrez ses positions réels!

Si maintenant vous mettez l'interpolate à la valeur 1, cela vous donnera ceci:

positions_interpolate_1.jpg

Les positions sont les mêmes, mais le jeux calcul et créer des liens entre les positions pour obtenir un mouvement fluide!

Vous vous dites donc, le serveur ne lag pas, personne ne lag, tout va bien dans le meilleur des mondes =)

Seulement, vous vous rendez vite compte que des fois, vous tirez sur le joueur, mais que vous ne l'avez pas touché! Tout simplement parce que si vous tirez sur ces liaisons, cela ne le touchera pas!

Pour jouer dans de bonnes conditions il faut déjà:

-Que tout le monde configure bien ses rates aux valeurs suivantes:

cl_cmdrate 101 ; cl_updaterate 101 ; rate 90000

-Avoir un serveur qui gère bien le tickrate 100

Si jamais vous jouez bien en tickrate 100, les informations sur vos positions sont envoyés telement souvent que vous avez le mouvement fluide, même en interpolate 0!

--> Il est conseillé de jouer en interpolate 0 pour voir les positions réels des joueurs! <--

Deuxième point:

"Mais avec cl_cmdrate 101 j'ai un sale ping quand j'appuie sur tab! On m'a dit de mettre la valeur à 10 pour avoir un meilleur ping et donc moins laguer!"

Totalement faux, une experience simple permet de le démontrer, mettez cl_cmdrate 100 et tapez dans la console: ping, vous verrez le nombre de "ms" que vous avez, avec une connection respectable c'est de l'ordre des 40 -> 60 (c'est l'unité pour définir le ping), et dans tab c'est souvent un peu au dessus, mais c'est la valeur dans la console (ou le net_graph) qui importe! Ensuite mettez la valeur de cl_cmdrate à 10, vous verrez en effet qu'en appuyant sur tap vous avez un ping de l'ordre de 5 constant, mais dans la console ou le netgraph votre ping est le même.Vous envoyez beaucoup moins de données au serveur, donc vos balles que vous tirez n'arrivent pas toutes à destinations, et vos positions sont envoyées moins fréquemment.

Si vous avez une sale connection, mettez la valeur à 66 par exemple, mais pas au dessous!

Troisème point:

Beaucoup d'équipes pensent que si un joueur X à la valeur d'interpolate à 0, alors le joueur Y (qui a l'interpolate sous 1) verra juste ses positions réels et non pas les liaisons comme il le souhaite! (ou l'inverse)

C'est totalement faux! Vous pouvez voir si vous tapez dans la console:

help cl_interpolate

Il vous affichera que c'est une commande client, donc qui n'affecte que vous, vous êtes seul résponsable de votre valeur! (contrairement aux rates, si vous réglez mal vos rates, les autres joueurs le resentiront!)

] help cl_interpolate

"cl_interpolate" = "1.0"

client

- Interpolate entities on the client.

Donc si vous avez l'interpolate 0 vous verrez aucunes liaisons pour aucuns des autres joueurs, et si vous l'avez sur un vous aurez les liaisons! Mais le joueur en face il vous verra avec ou sans liaison, tout dépend de sa valeur à lui!

Beaucoup de serveurs ne tiennent pas le tickrate 100?

Dans 99% des cas, vous vous trompez, c'est vous qui êtes en défaut et non pas le serveur, un petit test simple à faire permet de le vérifier!

Pour ce test il est nécessaire d'avoir une bonne configuration et des bons FPS (Frames per seconds = Images par secondes)

Allez sur un serveur (correct) en tickrate 100, pas de la haute qualité, mais pas du "bas de gammes" non plus! Mettez vous sur une map comme par exemple train, mal redouté car elle fait souvent lagués les petites config, mettez vous dans un coin de la map ou il n'y a pas trop d'objects, par exemple, les toilettes près du Respawn Terrorist (vous pouvez faire ce test n'importe ou si vous avez un bon PC), mettez dans la consoles les commandes suivantes:

net_graph 3

cl_cmdrate 101

cl_updaterate 101

rate 50000

fps_max 100

Vous voyez dans votre netgraph vos FPS à 100 (Pour informations, le tickrate est montré avec le netgraph par les deux valeurs entourés en vert!), les envois de vos données au serveur à 100, et les données que

vous recevez du serveur à 100 (ces deux valeurs constitue le Tickrate), comme sur la screen si contre -> Si c'était comme ca tout le temps les conditions de jeux serait IRREPROCHABLE <-:

fps_max_100.jpg

Maintenant, tapez fps_max 50, vos FPS sont donc bloqués à 50, et là... SURPRISE, les envois de données au serveur ("OUT") (donc vos positions, vos tirs etc.) sont réduits à 50, mais les données reçus ("IN") reste toujours à 100! et la le reflexe de la plupart des joueurs est de dire:

votre serveur ne touche pas!

fps_max_50.jpg

Vous pouvez voir sur la screen si dessus, qui a été prise au même endroit que la première sur le même serveur, quelques secondes auparavant, la différence de tickrate! Donc si vos FPS descendent (pendant les combats avec beaucoup de grenades, de chaises qui volent, de joueurs qui tirs au même endroit etc) et ben le tickrate fera de même...

Conclusion:

-Les FPS sont liés au tickrate (si les FPS baissent, le tickrate "OUT" également)

-l'interpolate n'affecte pas les autres joueurs et est recommandé.

-CSS n'est pas un jeux équitable, les meilleurs joueurs sont souvent ceux qui ont les meilleurs configurations (PC haut de gamme, et bonne configuration internet) contrairement à CS 1.6 qui demandé très peu de ressources.

-la commande cl_cmdrate à une valeur basse (comme je le vois dans beaucoup de tutoriels sur des sites d'équipes CSS, un exemple parmis tant d'autres: les tutoriels de l'équipe FFAT @ emPathy), ne permet pas

d'avoir un meilleur ping, il permet juste de jouer pour vous et les autres, dans de sales conditions!

PS: Merci beaucoup à l'administrateur Psycho de la ligue Clan France pour ses précisions et ses conaissances dans ce domaine!

Si j'ai fait ce "tutorial" c'est uniquement pour informer, et arrêter les éternelles débats du : "votre serveur touches pas", "stop fake ping!" , "pfff stop l'interpolate 0"

Au Revoir.

N'hésitez pas à me poser des questions je tenterais d'y répondre

mTx, Leader de la Team Mercure (#Hg.)

www.team-mercure.com

#mercure on Quakenet

Lien vers le commentaire
Partager sur d’autres sites

bonne initiative, mais qui comporte au moins une erreur et quelques précisions a ajouter

[#ff3800]L'erreur : [/#ff3800]

quand on tire sur une fausse position, on ne touche pas

c'est faut, si le serveur est bien configuré et surtout de bonne qualité, vous toucherez, l'interolaione est accompagne d'un système qui calcule tout

sur les bons serveurs, ce système ne ce voit pas, mais sur les plus mauvais en terme de qualité ou de réglage on peu l'apercevoir :

vous tirez dans la tête d'un adversaire, mais c'est seulement après quelques secondes que le HS apparait

c'est le système de compensation qui a fait son boulot

[#ff3800]les prescisions :[/#ff3800]

[#1c00e2]1)[/#1c00e2]

le fps sont liés au information que vous envoyez, mais pourquoi :

parce que les packets que vous envoyez et qui représentent la valeur out dans le net_graph ce fait entre la génération des images (frame rate) donc si vous avez 30 fps, vous n'enverrez que 30 en out (même si vous avez mis cl_cmdrate a 100 pour la raison cité au-dessus )

[#1c00e2]2)[/#1c00e2]

si on prend un serveur tickrate 66 et 100 avec leur fps limité a une valeur un peu plus supérieure à leur tickrate, et que vous, coté client vous êtes avec l'interpolate à 1, vous toucherez mieux sur le serveur tickrate 66, mais pourquoi :

tout simplement parce que beaucoup de personnes :

- n'ont pas plus de 60 fps et pas plus de 60 en cmdrate

- n'ont pas connaissance des réglages à faire et sont par conséquent aux valeurs d'origine, soit égale à un tickrate 33

- n'ont pas une assez bonne connexion leur permettant de mettre plus que 60 en cmdrate ou en updaterate

donc sur le serveur tickrate 100, il est plus probable que vous receverrez de fausses positions.

si le serveur tickrate 66 ou 100 n'auraient pas leu fps limité, le tickrate 100 serait un peu mieux mais pas beaucoup plus que le 66, mais pourquoi :

si un joueur envoi 50 en cmdrate au serveur, et que le serveur en a 200 fps, le serveur va créé 1 image sur 4 soit 150 images

imaginé qu'il y a 20 personnes sur ce serveur et qu'ils n'envoient que 50 en cmdrate, le serveur va commencé a laggué tellement il a de positions a créés, et il y a aussi le système qui compense l'interpolation qui s'emballe,

résultat le serveur ne touche pas, que ce soit un tickrate 100 ou 66

si vous avez l'interpolation a 0, les seules serveurs ou vous aurez des problèmes de touchabillité seront ceux qui laggue

Lien vers le commentaire
Partager sur d’autres sites

l'explication simplifiée est sympa et pratique, elle permettra aux newbies du tickrate de se rendre compte de leurs erreurs d'appréciations et de certaines choses qu'ils ignoraient.

juste une précision :

le tickrate qui baisse qui provient à 99% du client, c'est un peu optimiste...quand il y a 20 joueurs sur le serveur, c'est pas le client qui a du mal mais le serveur... ca dépend juste des conditions d'utilistaion du serveur.

par exemple, si on joue sur un tickrate 100 bien cfg à 10 joueurs, ya de grandes chances que ca vienne de notre connexion si on a des problemes de tickrate(genre un gros full M4 à 2m--->64hp in 2 hit, les boules).

mais ce qu'on appelle un "serveur de jeu" est une partie d'un serveur matériel(réel) qui gère plusieurs serveurs de jeu.

il y a des chances que ce serveur réel supporte(exemple au hazard) 4 serveurs de jeu, dont deux avec 4 bots chacuns(ca consomme les bots!)... et là, c'est pas la connexion du client qui déconne ,mais le serveur, pareil quand on est 20 à se tirer dessus sur les 4 serveurs de jeu de la machine, le serveur à parfois du mal a calculer.

pour finir, comme je suis pas doué pour simplifier les choses(je rajoute des details techniques et j'embrouille plus qu'autre chose quand j'explique ^^), mTx67(ca veut dire quoi? :D), pourrais-tu faire le rapport entre tickrate, rate et loss/choke pour que ceux qui ont des problèmes et à qui on demande de modifier telle ou telle valeur comprennent pourquoi?

c'est le seul truc qui manque dans ton explication.

Lien vers le commentaire
Partager sur d’autres sites

le ckoke correspond aux packets que le serveur vous envoi mais qui n'arrive pas, donc au cl_updaterate, ce qui signifie que si vous en avez il faut diminue votre cl_updaterate

le loss correspond aux packets que vous envoyez au serveur mais qui n'arrive pas, le loss est donc lié au cl_cmdrate

le loss est beaucoup moin fréquent que le choke et vient surtout des serveurs, il est très rare que c'est vous qui provoquez du loss mais si c'est le cas, il faut baisser votre cl_cmdrate

j'aurais bien développé plus mais de tout facon, bon nombre de topic interresent finnissent au oubliette a cause d'un mauvais suivi des admin

Lien vers le commentaire
Partager sur d’autres sites

net_graph 3 pour afficher tes informations tkt/ping/FPS.

pour le tkt, c'est :

rate XXXXX(de 30000 à 81920)

cl_updaterate XXX(de 66 à 100)

cl_cmdrate XXX(de 66 à 100)

et

cl_interp 0 (pour voir les positions réelles, mais des adversaires qui risquent de clignoter.)

net_graph 3

cl_cmdrate 101

cl_updaterate 101

rate 50000

fps_max 100

valeurs données par mTx.

c'est les commandes de base pour regler le tkt et avoir des informations non erronées(quand tu appuies sur tab, c'est pas toujours les vraies valeurs de ping)

Lien vers le commentaire
Partager sur d’autres sites

juste une précision :

le tickrate qui baisse qui provient à 99% du client, c'est un peu optimiste...quand il y a 20 joueurs sur le serveur, c'est pas le client qui a du mal mais le serveur... ca dépend juste des conditions d'utilistaion du serveur.

Je me base pas sur un serveur FFA, pour moi CS:S est un jeux de matches seulement, et le tickrate 100 en FFA ne sert à rien, en plus les plugins bouffent un max de ressources, donc je parle en 12 slots privé, notre serveur tient très très bien le tickrate, mais beaucoup de joueurs n'arrivent pas à le suivre :P (dont moi même)

Pour ma .cfg, dis moi ta config je te dirais si elle est efficace, pour moi elle n'est pas du tout efficace, mais si tu veux gagner des fps commence déjà par mettre tout en low, résolution basse, et termine le processus : explorer.exe lorsque tu joues

Merci à tous ceux qui ont apportés des précisions, c'est vrai que je n'es pas tout expliqué, j'ai traité des questions importantes qui donnent souvent lieu à des conflicts!

j'aurais bien développé plus mais de tout facon, bon nombre de topic interresent finnissent au oubliette a cause d'un mauvais suivi des admin

Ce topic me servira pour faire un nouveau tutorial sur notre site pro qui arrive le 30 mars, nous avons déjà bon nombre de tutorials qui ont été réalisés par moi, donc je me sers de vos informations!

ok j'ai pas tout compris mais svp vous pouvez me donner toutes les commandes "importantes" comme voir le nombre d'image par seconde et tout le tralala

Pour un bon PC et une bonne connection:

fps_max 101

cl_cmdrate 101

cl_updaterate 101

rate 50000

et le net_graph, tu le met sur 3 uniquement pour vérifier d'ou viennent tes lags, il est déconseillé de le laisser ON vu qu'il prend des ressource et mange à lui seul quelques fps :P

l'explication simplifiée est sympa et pratique, elle permettra aux newbies du tickrate de se rendre compte de leurs erreurs d'appréciations et de certaines choses qu'ils ignoraient.

c'est pour ca que j'ai fait ca :P et saches qu'il n'y a pas que les newbies, on a rencontré des teams française d'un niveau middle (real) qui nous ont mis le score 44-4 (bon je sais on est des mauvais nous mais bon) et ne conaissait RIEN de tout ca, mais absolument rien... j'ai eu de la peine pour eux ^^

si le serveur tickrate 66 ou 100 n'auraient pas leu fps limité, le tickrate 100 serait un peu mieux mais pas beaucoup plus que le 66, mais pourquoi :

si un joueur envoi 50 en cmdrate au serveur, et que le serveur en a 200 fps, le serveur va créé 1 image sur 4 soit 150 images

imaginé qu'il y a 20 personnes sur ce serveur et qu'ils n'envoient que 50 en cmdrate, le serveur va commencé a laggué tellement il a de positions a créés, et il y a aussi le système qui compense l'interpolation qui s'emballe,

résultat le serveur ne touche pas, que ce soit un tickrate 100 ou 66

si vous avez l'interpolation a 0, les seules serveurs ou vous aurez des problèmes de touchabillité seront ceux qui laggue

Tout cela démontre qu'un serveur en tickrate 66 pour le FFA suffit amplement, et qu'il est utile uniquement pour les matches, ou alors les serveurs limités à 10-12 slots!

Merci pour tes précisions LeSage

L'erreur :

Citation :

quand on tire sur une fausse position, on ne touche pas

c'est faut, si le serveur est bien configuré et surtout de bonne qualité, vous toucherez, l'interolaione est accompagne d'un système qui calcule tout

sur les bons serveurs, ce système ne ce voit pas, mais sur les plus mauvais en terme de qualité ou de réglage on peu l'apercevoir :

vous tirez dans la tête d'un adversaire, mais c'est seulement après quelques secondes que le HS apparait

c'est le système de compensation qui a fait son boulot

Je ne savais pas je vais me renseigné, et vérifier tes dires :P

Lien vers le commentaire
Partager sur d’autres sites

cl_interp 0 (pour voir les positions réelles, mais des adversaires qui risquent de clignoter.)

c'est pas cette commande qui désactive l'interpolation, c'est cl_interpolate 0

cl_interp, je connais pas la definition exacte, mais c'est lié a la création des images fictives, le temps qui les separent, un truc du genre, en tout cas c'est une valeur de temps

Je ne savais pas je vais me renseigné, et vérifier tes dires :P

en gros c'est la prediction

lien : [#000ef0]le net-code du moteur HL2 (source)[/#000ef0]

Lien vers le commentaire
Partager sur d’autres sites

Rajoutons que passer sa vie a régler le jeu est tout aussi exitant que de savoir qu'un tickrate 66 permet de tres bonnes conditions de jeu, et que les images interpolées sont négligeables par rapport à la taille des hitboxes dans le jeu, et que oui, comme précisé plus haut, on touche aussi ces positions interpolées !

J'ai plus le lien de l'article, mais il démontrait clairement que c'est pas aussi dramatique qu'on veut le croire.

En gros, je critique pas le bouleau que tu as fais, mais c'est un pompage plus ou moins réussi (plutot moins pour ma part), d'articles existants déja.

@+

Ps: CF lien de LeSage.... ;)

Lien vers le commentaire
Partager sur d’autres sites

Je n'es rien pompé du tout, j'ai fait tout moi même d'après ce qu'on m'a dit, je n'ai jamais vu un article sur les FPS liés au tickrate par exemple, merci LeSage pour ton lien

et ces posts n'étaient pas sur vossey, le but n'est pas de pompé ou quoi que ce soit, c'est d'informé...

et pour moi je trouve que quand tu as ton tickrate qui baisse à 30 à cause des FPS ben ca énerve assez...

Lien vers le commentaire
Partager sur d’autres sites

Je veux pas lancer un débat, mais peut etre que si la commande qui montre les hitboxes n'avait pas été implanté, il n'y aurait pas cette polémique (car il s'avere qu'elle ne reflete pas trop la réalité...)

De meme, si elle existait sur 1.6, ou si les ligne OUT et IN étaient dans le net_graph de la 1.6, ça choquerait moins sur Source.

De plus je pense aussi que sur la 1.6 les données sont limitées par les fps, seulement on ne peut pas le voir.

Pour finir, ça m'étonnerait franchement qu'au final, la qualité de jeu et Netcode Source soit moins bonne que son prédécesseur qui date de plusieurs années, et que la nouvelle version n'ait pas pour mission de faire mieux que l'ancienne et de corriger d'éventuels bugs.

@+ :)

Lien vers le commentaire
Partager sur d’autres sites

Je me base pas sur un serveur FFA, pour moi CS:S est un jeux de matches seulement, et le tickrate 100 en FFA ne sert à rien, en plus les plugins bouffent un max de ressources, donc je parle en 12 slots privé, notre serveur tient très très bien le tickrate, mais beaucoup de joueurs n'arrivent pas à le suivre :P (dont moi même)

ah ^^ fallais préciser.

c'est vrai qu'en match j'ai jamais eu de probleme.

par contre, le tkt 100 en FFA, je ne joue que dessus.

un 66 m'insupporte, tirer pour des prunes et me faire exploser betement par un low, ca me rend fou et je rage :D, c'est pour ca que, même en FFA, je prend du temps à choisir un bon serv tkt 100.

c'est pas cette commande qui désactive l'interpolation, c'est cl_interpolate 0

cl_interp est en millisecondes, et permet de regler la fréquence d'affichage de l'interpolation, le mettre à zero millisecones revient à désactiver le calcul des positions intermédiaires.

sinon, 13375p34k, mettre l'interpolation à zéro permet de reperer, soit ceux qui ne savent pas regler leur cmdrate, soit ceux qui le dérèglent volontairement... ca aide à comprendre pourquoi certeins truc marchent pas ect...(je suis un perfectionniste, mon frag n'est pas normal, trop long à tuer, trop court à tuer? hs en tirant derriere le mec? je look direct la console pour voir les degats infligés et le tickrate de l'instant, pour comprendre ce qui s'est passé lol-nan je suis pas taré!-)

le netcode de source est bien meilleur que celui de la 1.6 à mon avis, juste que le jeu consomme infiniment plus.

Lien vers le commentaire
Partager sur d’autres sites

Je suis daccord pour l'interp, je l'utilise moi meme comme tu le dis (enfin jvais pas regarder dans la console non plus ^^)

Par contre, c'est la pire des idées reçus que tu nous a résumé là :D

un 66 m'insupporte, tirer pour des prunes et me faire exploser betement par un low, ca me rend fou et je rage :D
Lien vers le commentaire
Partager sur d’autres sites

cl_interp est en millisecondes, et permet de regler la fréquence d'affichage de l'interpolation, le mettre à zero millisecones revient à désactiver le calcul des positions intermédiaires

pour ma part, je suis assez thèrorique

l'interp ne sait pas etre mis a 0 mais à 0.01 donc en thèorie et en pratique, c'est bien l'interpolate 0 qui desacctive l'interpolation.

et puis ta definition ne colle pas, en gros elle veut dire ceci :

"que si l'interp est a 0.01, toutes les millisecondes, l'interpolation peu créer une image fictive"

ce qui veut dire que tu augmentes les images fictives et ce n'est pas le but rechercher

alors si tu est sure que c'est la bonne définition, on ce fait tous avoir avec cette commande.

en suite, actuellement et depuis quelques mois, je joue avec l'interpolate 0, avant j'avais juste interp 0.01 et je peu dire que j'ai quand meme constaté une différence :

tu tire, tu touche encore plus :-)

maintenent si je remet l'interpolation sur 1, j'ai l'impression de retourner sur un serveur tickrate 33

(oui vous savez, cette bizzard impression que l'on epprouve losqu'on passe d'un serveur tick 100 sur un 33)

Lien vers le commentaire
Partager sur d’autres sites

Moi l'impression que j'éprouve c'est que je trouve ça dommage de ne pas pouvoir jouer équitablement à un jeu sans être obligé de modifier de tels paramêtres.(Modif du config.cfg, et/ou ajoue de la console, trouver les bonnes variables, les régler correctement............)

Cs quand tu nous tiens...

Lien vers le commentaire
Partager sur d’autres sites

en secondes, autant pour moi ^^.

0.001 = 1ms.

je viens de lire le message de LeSage et, ne comprenant pas pourquoi il disait ça, j'ai relu mes messages et je me suis rendu compte que j'ai totalement inversé les 2 commandes! désolé, en plus j'ai fait un mélange hardcore dans le 2ème message! c'est n'importe quoi.(en + j'ai même pas remarqué......baleze. hé, ho! taf a 6h du mat et nuit blanche môa, cerveau en morceau ^^)

je recommence en ayant dormi 3h cet apres midi. désolé pour le quiproquo(j'ai vérifié sur google et c'est la bonne orthographe, du 1er coup! je suis fier)...

mise en situation :

un joueur court tout droit avec un cmdrate à 15(c'est une valeur tres faible) sur un serveur tickrate 100 parfait.

vous le regardez, et vous jouez avec un tickrate nickel(rate 81920,100,100), sans lag, ni chutes de fps...

le serveur vous envoie 2 positions du mec qui court, vous en avez 3/4... pourquoi?

ces positions "intermédiaires" sont calculées par le netcode du jeu, pour la fluidité générale.

mais la hitbox n'aura que 2 position réelles.

c'est le principe de l'interpolation...

cl_interp règle le temps de décalage entre l'image et la hitbox. cl_interp 1, une seconde de décalage, c'est énorme, la hitbox et l'image seront tres décalées.

cl_interp 0 (0.001) et la différence sera de 0.001 seconde.

sur un tickrate 100, avec cl_interp 0, les hitboxes et les images sont presques confondues.

cl_interpolate a uniquement 2 valeurs(0 et 1).

le mettre à zéro permettra de désactiver les positions intermédiaires, vous ne verrez plus que les 2 positions réelles du joueur et vous le verrez donc saccader comme si il laguait.

à 1,le personnage aura des mouvements fluides, mais vous tirerez dans le vide si vous tirez sur les positions intermédiaires. le serveur n'aura pas calculé ces positions, et ne verra pas que vous touchez, puisque c'est le netcode de source qui les aura rajoutées pour une meilleure fluidité.

desactiver l'interpolate permet de voir uniquement les positions données par le serveur.

desactiver cet interpolate sert, par exemple à détecter les petits malins qui mettent leur cmdrate à 10.

ils envoient donc tres peu d'informations au serveur.

ils seront désavantagés quand ils tireront sur quelqu'un, mais ca peut devenir un gros avantage :

prenez un P90 et courez partout, vous êtes presque intouchable!

une rumeur dit que la commande cl_interpolate 0 est considérée comme du cheat, qu'on m'éclaire là dessus, je n'y crois pas du tout...

en résumé :

cl_interp règle les hitboxes,

cl_interpolate active/desactive l'interoplation(images non réelles).

donc pour une config optimale parfaite, bien sûr c'est utopique, car tout n'est pas rose(pc pourave, connexion pourave ou les 2) :

rate 81920

cl_updaterate 100

cl_cmdrate 100

cl_interp 0

cl_interpolate 0

fps_max 120(on va dire...)

ces valeurs sont les valeurs optimales.

en cas de choke/loss, dus à la mauvaise qualité de la ligne/du serveur(parfois), il faut baisser progressivement les valeurs updaterate(in) et cmdrate(out) de manière à avoir un tickrate le plus proche possible de 100, sans choke ni loss.

en espérant ne plus dire de conneries, je retourne me choucher :D

Lien vers le commentaire
Partager sur d’autres sites

Bon résumé mtx, j'ai survolé vite fait les réponses et je voudrais juste apporter quelques précisions.

Tout d'abord, il faut s'avoir qu'il y a une part de vrai et de faux dans les explications de mtx. Valve laisse trés peu de documentation sur le net code source. Les "explications" de mtx sont donc un gros mix de tuto sur la toile et d'expérimentations de différents joueurs.

Bref, on peut même se demander, pourquoi depuis la derniere mise à jour, tellement de joueurs se plaignent d'avoir des montées de choke fréquentes. Méthode calcule du net graphe refaite? Bug steam? Va savoir ... ^^

Pour revenir au sujet, juste apporter une petite correction :

le ckoke correspond aux packets que le serveur vous envoi mais qui n'arrive pas, donc au cl_updaterate, ce qui signifie que si vous en avez il faut diminue votre cl_updaterate

le loss correspond aux packets que vous envoyez au serveur mais qui n'arrive pas, le loss est donc lié au cl_cmdrate

Faux ! Le choke correspond à un retard dans la réception ET l'émission des packets. En gros, vous avez du choke mais vous savez pas si ca vient du serveur ou de votre connexion (puisque le net graph ne fait pas la différenciation)

Quand au loss, il s'agit d'une perte de packet, de nouveau cela peut être en émission ou en reception (updaterate ou cmdrate, pour ceux qui raisonne commande) Vous pouvez trés bien voir les effets du loss sur le net_graph 2, en effet il y a des "trou" dans le graph. Cela se traduit aussi, par une perte d'informations (perte infos radar, armes qui ré-apparaissent). Souvent, le loss est accompagné d'une courte période de choke, du au renvoi de toutes vos informations au serveur (normal vous allez me dire).

Je voudrais aussi rajouter qu'il est normal d'avoir des gros accoup de choke en fin de round, et que même sur d'excellents serveurs il est normal encore une fois d'avoir des montés de choke lors des "gros fight".

Petite ouverture :

La configuration "standardisée" des serveurs en tickarate 33 et des rate clients était peut être préférable. Certe le touché était peut être moins "précis", mais les serveurs était moins surchargés, les joueurs jouaient sur un pied d'égalité et les fps influançaient de façon moins significative sur le jeu.

Petit conseil :

Je conseille aux joueurs qui ont une connexion de moyenne (mauvaise?) qualité de brider leur rates à 66, afin d'éviter de trop grosse variation d'envoi/réception de données qui se traduisent par des pics de choke.

Idem pour les fps, si vous dépassé par les 60 fps, pas la peine de monter votre out à 100.

Pour ceux qui veulent en savoir plus :

Je vous conseille d'étudier une partie du net code source fournie via le sdk. De bonnes compétences en C/C++ sont requises. Vous trouverez, par exemple, les définitions officielles de l'interpolate, l'impact de la valeur du cl_interp, l'explicaiton "complète" du net graph ainsi que ses méthodes de calcule.

Dernière Petite chose :

Loin de moi l'idée de relancer le débat "DeCSSouCSestLEmeilleur?", mais il est clair que le net code source est de loin beaucoup plus performant :) Mais comme tout ce qui touche le transfert de données, trop de variables sont à prendre en compte (herbergeur, traffic bp, client, config, serveur maitre valve, ect ...)

Si on faisait un petit résumé du chemin et étapes (que je ne ferais pas, par manque de compétences et d'envie) que doit faire votre trajectoire de balle avant de parvenir à destination, on se dit "bah quand même la technologie source est pas mal optimisée".

Sur ce have fun.

Lien vers le commentaire
Partager sur d’autres sites

Par contre, c'est la pire des idées reçus que tu nous a résumé là :D

oué ^^ mais je deteste les chutes de tickrate plus que tout au monde pour en avoir tellement subit les conséquences en jeu... rhaaaa pourquoi il est pas mort!

la c'est mieux :-)

lol, je pouvais pas faire pire non plus ^^

Petite ouverture :

La configuration "standardisée" des serveurs en tickarate 33 et des rate clients était peut être préférable. Certe le touché était peut être moins "précis", mais les serveurs était moins surchargés, les joueurs jouaient sur un pied d'égalité et les fps influançaient de façon moins significative sur le jeu.

ca c'est bien vrai, même si ca touchait que dalle, tout le monde était pénalisé et personne ne profitait d'un meilleur tickrate ect...

une config d'origine en 66 aurait été le nirvana, mais fallait pas rêver.

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.