Brèves

WebTV

Actualité de la scène

Compétitions

Forum
Index du forum > Counter-Strike:Global Offensive > Discussions > Une fois pour toutes : tickrate rate interp fps tickrate et plus
Une fois pour toutes : tickrate rate interp fps tickrate et plus - 74 messages, 59209 vues
Page 4 sur 8
1
...
2
3
4
5
6
...
8
Réponse #31
Par Spline - 18/08/2015 12:22:26
De toutes les façons tant que valve n'herberge pas des serveurs en France, et qu'ils continuent d'herberger 6 serveurs sur la même machine, les choses ne vont pas s'améliorer.
Réponse #32
Par aplies - 18/08/2015 12:58:10 - Modifié le 18/08/2015 13:00:33
De toutes les façons tant que valve n'herberge pas des serveurs en France, et qu'ils continuent d'herberger 6 serveurs sur la même machine, les choses ne vont pas s'améliorer.


Même si tu joues contre un joueur qui habite dans le même pays hôte du serveur de jeu, les différences sont vraiment minimes.
Il faut prendre un peu de recul aussi. Un mec qui a un ping de 20 ms aura effectivement un avantage puisqu'avec cl_predict à 1, sa position va être certe extrapolée par son jeu, mais très rapidement corrigée avec la prochaine mise à jour reçue. Si toi en face tu as un ping de 70 ms, il y a au mieux 50 ms de différence dans la correction de ta position. MAIS, l'extrapolation faite par ton jeu sur ton PC n'est :
- de un, pas toujours très différente de la réalité, on parle ici d'une toute petite extrapolation, puisque tu recevras ta vraie position dans 70 ms. Le jeu n'a pas besoin de te faire avancer de 100 mètres dans le jeu, ça doit se jouer au millimètres et encore (dans le jeu hein). Donc par rapport à la largeur du modèle 3D utilisé pour représenter l'ennemi en face de toi, c'est quedal. Même en extrapolant, il y a de fortes chances pour que ton viseur soit quand même réellement sur lui.
- de deux, l'extrapolation n'est faite que pour fluidifier ton jeu. Ce qui compte vraiment, ce sont les calculs du serveur, seuls eux sont vrais et communiqués à l'ensemble des joueurs du serveur. Or, pour rappel, dans les calculs du serveur pour savoir à quel moment tes différentes actions se passent (mouvements, tir...), le serveur utilise le calcul suivant "moment d'exécution de l'action = Heure actuelle du serveur - ping - interpolation". Donc même avec un ping plus faible, il n'est pas avantagé de ce côté-là.

Ce que je veux dire c'est que l'avantage d'avoir un ping de 20 ms au lieu de 70 ms est vraiment minime de chez minime, imperceptible pour l'être humain (on parle ici de milisecondes à l'echelle de l'électronique et des réseaux. T'arrives à te représenter ce que font 50 ms toi ?).
Tout est fait dans le jeu, et dans tous les jeux en réseaux d'ailleurs, pour minimiser l'impact du réseau sur la qualité du jeu.
Réponse #33
Par Tony- - 18/08/2015 13:05:33
Sur cs 1.6 le tickrate était a 10 000 sur les bons serveurs, voilà un jeu qui touchait.
Réponse #34
Par Haystack - 18/08/2015 13:15:10

Pour le 2) Attention à ne pas tout mélanger. Déjà, les impressions de "ne pas toucher" sont très très très très subjectives. Réelles, mais subjectives. Aussi, il y a tout le temps du peering, à moins que ton FAI héberge directement les serveurs Valve, ce qui est rarement le cas. Le peering n'est pas le problème, c'est le temps de réponse du serveur. Avec un choke loss à 0, je doute vraiment que ta connexion était en cause. Pour calculer le loss, le jeu doit faire un truc dans le genre : tickrate et updaterate à 128 ? Alors j'attends une donnée du serveur toutes les 7,8 millisecondes. Si je reçois pas une donnée, c'est que le paquet s'est perdu mais pas grave parce que j'ai 2 mises à jour dans ma réserve (car cl_interp_ratio à 2). ça, avec d'autres mécanismes évidemment.
Le principal étant que maintenant tu as de meilleure sensation !


Je ne mélange pas tout, au contraire. Le net_graph affiche ce qui est propre au jeu. Ce n'est absolument pas un outil de benchmark de qualité de connexion. Ce n'est pas parce qu'il y a 0 loss/chok, qu'il n'y a pas de retransmission de paquets entre temps par exemple. Quand je parle de peering, je parle des accords faits entre nos fournisseurs d'accès et les fournisseurs d'accès à l'étranger. Croire que chaque paquet a la même priorité, c'est vivre dans le monde des bizounours. Un paquet qui provient d'un FAI avec lequel on a un contrat de peering va être transmis en priorité par rapport à d'autres.

Le fait est, je peux garantir que selon les fournisseurs d'accès, et il n'y a pas que le ping, c'est différent. L'interpolation ne donne pas les mêmes résultats et même si c'est nécessaire pour jouer online, ça touche plus ou moins selon les fournisseurs avec 0 chok/loss dans le net_grapn, la même config autoexec, le même PC, sur le même serveur.

Le réseau c'est compliqué. Et le source engine et son net_graph n'expliquent pas tout. C'est tout ce que je veux signaler aux personnes qui lisent les explications concernant le source engine.

Il faut pas vouloir chercher une config magique qui résoud tous vos soucis. Si votre ligne ADSL/autre est merdique, changez de FAI. Et si c'est toujours pareil et que vous touchez mieux chez vos amis, c'est que votre ligne est merdique. Ca peut venir de tout un tas de choses, y compris des lampadaires le soir (véridique). Et ce, même si le net_graph est clean.
Réponse #35
Par Haystack - 18/08/2015 13:15:10

Pour le 2) Attention à ne pas tout mélanger. Déjà, les impressions de "ne pas toucher" sont très très très très subjectives. Réelles, mais subjectives. Aussi, il y a tout le temps du peering, à moins que ton FAI héberge directement les serveurs Valve, ce qui est rarement le cas. Le peering n'est pas le problème, c'est le temps de réponse du serveur. Avec un choke loss à 0, je doute vraiment que ta connexion était en cause. Pour calculer le loss, le jeu doit faire un truc dans le genre : tickrate et updaterate à 128 ? Alors j'attends une donnée du serveur toutes les 7,8 millisecondes. Si je reçois pas une donnée, c'est que le paquet s'est perdu mais pas grave parce que j'ai 2 mises à jour dans ma réserve (car cl_interp_ratio à 2). ça, avec d'autres mécanismes évidemment.
Le principal étant que maintenant tu as de meilleure sensation !


Je ne mélange pas tout, au contraire. Le net_graph affiche ce qui est propre au jeu. Ce n'est absolument pas un outil de benchmark de qualité de connexion. Ce n'est pas parce qu'il y a 0 loss/chok, qu'il n'y a pas de retransmission de paquets entre temps par exemple. Quand je parle de peering, je parle des accords faits entre nos fournisseurs d'accès et les fournisseurs d'accès à l'étranger. Croire que chaque paquet a la même priorité, c'est vivre dans le monde des bizounours. Un paquet qui provient d'un FAI avec lequel on a un contrat de peering va être transmis en priorité par rapport à d'autres.

Le fait est, je peux garantir que selon les fournisseurs d'accès, et il n'y a pas que le ping, c'est différent. L'interpolation ne donne pas les mêmes résultats et même si c'est nécessaire pour jouer online, ça touche plus ou moins selon les fournisseurs avec 0 chok/loss dans le net_grapn, la même config autoexec, le même PC, sur le même serveur.

Le réseau c'est compliqué. Et le source engine et son net_graph n'expliquent pas tout. C'est tout ce que je veux signaler aux personnes qui lisent les explications concernant le source engine.

Il faut pas vouloir chercher une config magique qui résoud tous vos soucis. Si votre ligne ADSL/autre est merdique, changez de FAI. Et si c'est toujours pareil et que vous touchez mieux chez vos amis, c'est que votre ligne est merdique. Ca peut venir de tout un tas de choses, y compris des lampadaires le soir (véridique). Et ce, même si le net_graph est clean.
Réponse #36
Par Haystack - 18/08/2015 13:23:03
Le jeu se veut bien trop précis par rapport à nos qualités de connexion en Europe. Le jeu n'est fidèle à lui-même qu'en LAN. Le reste du temps, la précision des hitbox et du gameplay est beaucoup trop exigeante pour nos connexions. Faut faire avec, des fois, vous serez dessus, et rien ne pourra expliquer le miss shot.

Exemple très simple d'imprécision qui est voulu mais qui donne un mal de cranes aux gens :
- les impacts de vos balles sont client sided. A aucun moment, elles ne reflètent la réalité de ce qu'a calculé le serveur, car les variables aléatoires sont calculées désormais côté serveur (celles qui influencent votre précision, que ce soit a l'arrêt, en mouvement, ou avec le recul des armes)
- par contre, les traces de sang apparaîssent UNIQUEMENT si le serveur vous renvoie l'info comme quoi vous avez touché.

C'est très perturbant, et le décalage client/serveur est très fort sur CSGO, de plus en plus avec les mesures anti cheat qui ont été mises en place au fil des mises à jour...Ca donne un sentiment d'aléatoire au jeu de plus en plus fort online.
Réponse #37
Par aplies - 18/08/2015 13:26:20 - Modifié le 18/08/2015 13:30:39

Pour le 2) Attention à ne pas tout mélanger. Déjà, les impressions de "ne pas toucher" sont très très très très subjectives. Réelles, mais subjectives. Aussi, il y a tout le temps du peering, à moins que ton FAI héberge directement les serveurs Valve, ce qui est rarement le cas. Le peering n'est pas le problème, c'est le temps de réponse du serveur. Avec un choke loss à 0, je doute vraiment que ta connexion était en cause. Pour calculer le loss, le jeu doit faire un truc dans le genre : tickrate et updaterate à 128 ? Alors j'attends une donnée du serveur toutes les 7,8 millisecondes. Si je reçois pas une donnée, c'est que le paquet s'est perdu mais pas grave parce que j'ai 2 mises à jour dans ma réserve (car cl_interp_ratio à 2). ça, avec d'autres mécanismes évidemment.
Le principal étant que maintenant tu as de meilleure sensation !


Je ne mélange pas tout, au contraire. Le net_graph affiche ce qui est propre au jeu. Ce n'est absolument pas un outil de benchmark de qualité de connexion. Ce n'est pas parce qu'il y a 0 loss/chok, qu'il n'y a pas de retransmission de paquets entre temps par exemple. Quand je parle de peering, je parle des accords faits entre nos fournisseurs d'accès et les fournisseurs d'accès à l'étranger. Croire que chaque paquet a la même priorité, c'est vivre dans le monde des bizounours. Un paquet qui provient d'un FAI avec lequel on a un contrat de peering va être transmis en priorité par rapport à d'autres.

Le fait est, je peux garantir que selon les fournisseurs d'accès, et il n'y a pas que le ping, c'est différent. L'interpolation ne donne pas les mêmes résultats et même si c'est nécessaire pour jouer online, ça touche plus ou moins selon les fournisseurs avec 0 chok/loss dans le net_grapn, la même config autoexec, le même PC, sur le même serveur.

Le réseau c'est compliqué. Et le source engine et son net_graph n'expliquent pas tout. C'est tout ce que je veux signaler aux personnes qui lisent les explications concernant le source engine.

Il faut pas vouloir chercher une config magique qui résoud tous vos soucis. Si votre ligne ADSL/autre est merdique, changez de FAI. Et si c'est toujours pareil et que vous touchez mieux chez vos amis, c'est que votre ligne est merdique. Ca peut venir de tout un tas de choses, y compris des lampadaires le soir (véridique). Et ce, même si le net_graph est clean.


AH, on est COMPLETEMENT D'ACCORD là-dessus, c'est ce que j'essaye de faire comprendre aussi. Il n'y a pas une bonne config, mais une config a adapté selon sa connexion et son matériel.

Ceci dit, le net_graph est exactement un outil de benchmarch de ta connexion POUR LE JEU. Il permet de savoir si la qualité de ta connexion est suffisante pour le jeu et rien d'autre. Le net_graph n'est pas fait pour auditer ton FAI, le net_graph est là pour te dire "voilà mon grand, avec ta connexion, le jeu tourne sans problème". Il est tout à fait possible que ta connexion soit suffisante pour cs go mais que tu es des soucis autres (télé par internet qui marche mal, déconnexion wifi intempestive, désynchronisation avec ton FAI, ect, ect...). C'est même à la base un outil de debug pour les développeurs qui utilisent le moteur Valve source engine.

Autre chose, les communications pour les jeux de ce genre sont toujours en UDP (question de performance, TCP permet de s'assurer que les paquets arrivent mais impacte trop les performances réseaux). Donc pas de retransmission des paquets perdus. Si le paquet est perdu, alors il est perdu, tant pis. D'où l'importance de l'interpolation et de l'extrapolation. Car sans ça, paquet perdu = freeze dans ton jeu.
Réponse #38
Par aplies - 18/08/2015 13:47:15 - Modifié le 18/08/2015 13:50:33
Le jeu se veut bien trop précis par rapport à nos qualités de connexion en Europe. Le jeu n'est fidèle à lui-même qu'en LAN. Le reste du temps, la précision des hitbox et du gameplay est beaucoup trop exigeante pour nos connexions. Faut faire avec, des fois, vous serez dessus, et rien ne pourra expliquer le miss shot.

Exemple très simple d'imprécision qui est voulu mais qui donne un mal de cranes aux gens :
- les impacts de vos balles sont client sided. A aucun moment, elles ne reflètent la réalité de ce qu'a calculé le serveur, car les variables aléatoires sont calculées désormais côté serveur (celles qui influencent votre précision, que ce soit a l'arrêt, en mouvement, ou avec le recul des armes)
- par contre, les traces de sang apparaîssent UNIQUEMENT si le serveur vous renvoie l'info comme quoi vous avez touché.

C'est très perturbant, et le décalage client/serveur est très fort sur CSGO, de plus en plus avec les mesures anti cheat qui ont été mises en place au fil des mises à jour...Ca donne un sentiment d'aléatoire au jeu de plus en plus fort online.


Nos connexions sont tout à fait capables de gérer ça, mais alors sans aucun soucis un rate de 128000 c'est du 0,12 Mo / seconde. A part être en zone blanche ou très très loin de ton répartiteur ADSL (tu peux faire le test sur le site d'OVH), ce qui impacte ton ping, ta connexion le gère sans soucis. Les seuls calculs qui font offices de vérité sont ceux du serveur. Que votre client affiche les impacts ou pas, c'est de l'esthétique, simplement de l'esthétique. Si tu cherches une configuration pour du jeu "pro", c'est le genre de chose à désactiver pour ne pas se faire tromper par la représentation graphique sur ton écran. Mais ça ne change rien au fait que tu toucheras.
Réponse #39
Par HOUNGOUNGAGNE - 18/08/2015 13:50:19 - Modifié le 18/08/2015 13:54:34
Salut,

Vous trouverez dans le lien pastebin toutes les explications techniques concernant les commandes rate cl_updaterate cl_cmdrate cl_interp cl_interp_ratio cl_lagcompensation cl_predict sur les fps le tickrate serveur la configuration en lan et sur la GOTV souvent décriée.

Toutes les infos proviennent de la documentation du Valve source engine, moteur utilisé dans cs go notamment. Le lien de la doc est dans le pastebin également.
Cela permet d'avoir une explication une fois pour toute par rapport à tout ce qu'on voit sur le net comme conneries.

En français :

http://pastebin.com/52spr03U

En anglais :

http://pastebin.com/2bBFijFY

Je ne connais pas beaucoup de forums spécialisés pour counter strike. J'ai bien essayé de créer un nouveau thread sur le subreddit /r/GlobalOffensive mais comme je viens de créer le compte reddit, je ne suis pas autorisé à créer un nouveau thread (à vrai dire je comprends pas grand chose à reddit...)

Bref, si vous voulez/pouvez, hésitez pas à propager le lien. Je me fous pas mal d'être nommé ou quoique ce soit. C'est fait pour servir, servez-vous en librement.

Moultes tendresses.


Yop !

C'est super mega bien fourni, je vais très sûrement en faire une vidéo si t'es d'accord bien sûr !
En anglais, sur cette chaîne: https://www.youtube.com/channel/UChpiQy7AuKxVAdGj2dB1x1Q
Je te citerais a 100%, donc si tu as un Twitter/reddit acc/Fb/youtube, tiens moi au jus !

Fin, techniquement, tiens moi au jus dans tous les cas !

:D

Edit, plus je le relis, et plus jme dis que c'est même une très chouette vidéo que je pourrais en sortir. Si ça te botte de l'écrire avec moi, envoie moi ton steam en MP et je t'add ASAP !

Encore bj ! :)
Réponse #40
Par Haystack - 18/08/2015 14:09:45

Nos connexions sont tout à fait capables de gérer ça, mais alors sans aucun soucis un rate de 128000 c'est du 0,12 Mo / seconde.


Les débits, ce n'est pas ce qui importe, je parle de la garantie de recevoir un paquet en temps et en heure, la qualité des routeurs, la qualité des câbles, des gaines. Que ce soit dans les bâtiments ou sur les lignes téléphoniques avant d'atteindre la fibre. Si l'on compare la qualité de nos lignes en France, et celles aux états unis ou dans les pays nordiques, c'est le jour et la nuit. Peronellement, je doute que tous les loss soient affichés dans le net_graph. Juste ceux que le moteur du jeu détecte.

Les seuls calculs qui font offices de vérité sont ceux du serveur. Que votre client affiche les impacts ou pas, c'est de l'esthétique, simplement de l'esthétique. Si tu cherches une configuration pour du jeu "pro", c'est le genre de chose à désactiver pour ne pas se faire tromper par la représentation graphique sur ton écran. Mais ça ne change rien au fait que tu toucheras.


Sauf que l'esthétique, c'est ce qui se voit. CSGO n'est pas réservé aux ingénieurs réseaux compréhensifs. Le fait que tes impacts ne veulent absolument rien dire, ce n'est pas que de l'esthétique. Si le jeu n'était pas bourré de cheaters, le serveur pourrait prendre les infos clientes comme vérité "j'ai touché, un point c'est tout".

C'est ce qui se fait dans tous les jeux coopératifs et tous les petits jeux indé FPS qui ne sont pas bourrés de cheaters. Les modèles des Mobs entre deux joueurs de Bordelrands 2 ne sont COMPLEMENT PAS synchronisés. Le serveur en a rien à carer. Tu touches, tu me dis, je lui enlève de la vie. Point.

Sur CSGO, c'est impossible. Du coup, beaucoup plus de choses sont recalculés par le serveur, ce qui crée une différence client/serveur et un feedback pour le joueur très particulier.

Il faut éplucher le moteur du jeu pour comprendre que ce que l'on voit, ce n'est pas la vérité. Mais alors pas du tout. C'est quand même très perturbant.

On aurait tous 15 de ping et aucune perte de paquet, on aurait déjà pas les mêmes sensations du tout.
Page 4 sur 8
1
...
2
3
4
5
6
...
8