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, 59207 vues
Page 5 sur 8
1
...
3
4
5
6
7
...
8
Réponse #41
Par aplies - 18/08/2015 14:25:02

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.


"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. "

Exactement, la doc le dit très clairement aussi. Si autant de calculs sont fait côté serveur c'est pour empêcher toutes modifications des données côté client par des logiciels tiers (des cheat).

Pour la qualité de la connexion, c'est vrai qu'on est très en retard par rapport à d'autres pays du monde, mais on est aussi très avance par rapport à d'autres... Ceci est principalement dû au fait que le déploiement des différentes technologies (ADLS, VDSL, fibre) sur le territoire français est un énorme méli-mélo dramatico-industrialo-politico bordélique. Rien qu'à voir les DSP (Délégation de Service Publique) dans les métropoles de Lyon et de Lille pour installer la fibre, ça donne envie de vomir. Des centaines de millions ont été dépensés, tout ça pour finalement remettre en cause ce qui est déjà fait ou pour favoriser tel ou tel industriel/opérateur alors que toute collectivité territoriale se doit d'être impartiale et objective.

M'enfin, comme dirait tonton jackie, sur un malentendu ça peut marcher.
Réponse #42
Par Brax - 18/08/2015 14:33:40
Très intéressant et vraiment super bien expliqué, merci beaucoup !
Réponse #43
Par 7ony - 18/08/2015 15:12:09

- pour les fps, j'ai sans doute fait une erreur dans le pastebin. En effet, d'après une doc que j'ai trouvé https://developer.valvesoftware.com/wiki/Interpolation, ils disent qu'une mise à jour serveur à besoin de trois frames pour être complètement affichée. Ce qui signifie que, dans l'idéal, les fps doivent être 3 fois plus élevé que le tickrate et l'updaterate. D'ailleurs, quand vous installer le jeu cs go pour la première fois, le cl_updaterate est à 20 et les fps_max à 60 (x3). Par contre, rien ne sert de mettre un fps_max qui ne sera pas supporté par votre écran. Cela va faire travailler votre carte graphique pour rien (et donc chauffer pour rien et donc abimée sur le long terme pour rien, sauf si vous la refroidissez correctement). Donc si vous avez une carte graphique très puissante, limiter la valeur de fps_max au taux de rafraichissement de votre écran. Si votre carte graphique n'est pas ultra performante, attention de ne pas la faire travailler excessivement, il est possible qu'elle galère à atteindre le taux de rafraichissement de votre écran (selon le matériel que vous avez). A l'inverse, si vous avez un écran 100Hz par exemple, avec une carte graphique dernier cri, vous n'aurez JAMAIS plus de 100 fps par seconde affichées. Le nombre de fps sur le net_graph sera supérieur à 100 parce que votre carte graphique en calcul plus que 100 (avec un fps_max à 0 par exemple)... pour rien.
C'est pour ça que je dis que les fps doivent "dans l'idéal" être 3x plus élevé que le tickrate et l'updaterate. Dans les faits, trouvez moi un écran qui affiche du 128 x 3 Hz ? Et même pour une carte graphique puissante, calculer 128 x 3 frame par seconde, c'est beaucoup.



calculé, pas forcement affiché, si il calcule les 2 frames mais ne les affiche pas(fps max 384 et ecran a 128fps) tu aura la troisieme 3 fois plus vite que si tu etais a fps max 128 par exemple? a l echelle humaine on ne verra pas la difference mais theoriquement sa marche comme ça non?
Réponse #44
Par aplies - 18/08/2015 15:29:50

- pour les fps, j'ai sans doute fait une erreur dans le pastebin. En effet, d'après une doc que j'ai trouvé https://developer.valvesoftware.com/wiki/Interpolation, ils disent qu'une mise à jour serveur à besoin de trois frames pour être complètement affichée. Ce qui signifie que, dans l'idéal, les fps doivent être 3 fois plus élevé que le tickrate et l'updaterate. D'ailleurs, quand vous installer le jeu cs go pour la première fois, le cl_updaterate est à 20 et les fps_max à 60 (x3). Par contre, rien ne sert de mettre un fps_max qui ne sera pas supporté par votre écran. Cela va faire travailler votre carte graphique pour rien (et donc chauffer pour rien et donc abimée sur le long terme pour rien, sauf si vous la refroidissez correctement). Donc si vous avez une carte graphique très puissante, limiter la valeur de fps_max au taux de rafraichissement de votre écran. Si votre carte graphique n'est pas ultra performante, attention de ne pas la faire travailler excessivement, il est possible qu'elle galère à atteindre le taux de rafraichissement de votre écran (selon le matériel que vous avez). A l'inverse, si vous avez un écran 100Hz par exemple, avec une carte graphique dernier cri, vous n'aurez JAMAIS plus de 100 fps par seconde affichées. Le nombre de fps sur le net_graph sera supérieur à 100 parce que votre carte graphique en calcul plus que 100 (avec un fps_max à 0 par exemple)... pour rien.
C'est pour ça que je dis que les fps doivent "dans l'idéal" être 3x plus élevé que le tickrate et l'updaterate. Dans les faits, trouvez moi un écran qui affiche du 128 x 3 Hz ? Et même pour une carte graphique puissante, calculer 128 x 3 frame par seconde, c'est beaucoup.



calculé, pas forcement affiché, si il calcule les 2 frames mais ne les affiche pas(fps max 384 et ecran a 128fps) tu aura la troisieme 3 fois plus vite que si tu etais a fps max 128 par exemple? a l echelle humaine on ne verra pas la difference mais theoriquement sa marche comme ça non?


Non, parce que ton écran sera à la traine. Ta carte graphique balance 384 fps à ton écran, mais ton écran ne peut se rafraîchir qu'une fois toutes les 8 milliseconde (1000 millisecondes / 128 hz = 8). Donc, entre deux frames affichées sur ton écran, plusieurs auront été jetées à la poubelle. Deuxième possibilité, une file d'attente se met en place à la sortie de ta carte graphique. Sauf que cette file d'attente ne peut être infinie (elle grossirait indéfiniment), donc des frames sont inévitablement jetées à la poubelle.

Je ne sais pas lequel des deux mécanismes est utilisé par les cartes graphique et les écrans mais dans tous les cas, des frames ne sont pas affichées et tu n'es absolument pas assuré d'avoir les dernières, les plus fraîches.
Réponse #45
Par aplies - 18/08/2015 15:37:27 - Modifié le 18/08/2015 15:49:46
Sur cs 1.6 le tickrate était a 10 000 sur les bons serveurs, voilà un jeu qui touchait.


10 000 / secondes ? Impossible.
Enfin, possible, mais il n'a pas la même signification que sur cs go, ni le même fonctionnement. Les connexions de l'époque n'aurait pas supportées 10 000 mises à jour / seconde, si petites soient-elles (j'imagine que moins d'informations transitaient sur le réseau entre les clients serveurs pour 1.6 que pour cs source et que pour cs go).
Et inutile.
Et contre-productif à cause de la charge serveur engendrée. Bref, tout ce débat qu'il y avait autour de ça, c'était du pipo.

Edit : ça n'avait forcément pas la même signification, 10 000 sur cs 1.6 signifie une simulation faites par le serveur toutes les 100 micro secondes (= 0,1 milliseconde = 0,0001 seconde). T'avais intérêt à avoir un serveur qui carbure pour l'époque.
Réponse #46
Par Oldwaren - 18/08/2015 16:02:26
Salut ! Très intéressante ! J'essaye de mettre mon cl_predict à 4 mais pas moyen ! Je le met à 4 dans ma config, je lance mon jeu et il est toujours à 4 sur le menu et arrivé sur un serveur, il redescend à 1 -_- No comprendo !
Réponse #47
Par aplies - 18/08/2015 16:04:20
Salut ! Très intéressante ! J'essaye de mettre mon cl_predict à 4 mais pas moyen ! Je le met à 4 dans ma config, je lance mon jeu et il est toujours à 4 sur le menu et arrivé sur un serveur, il redescend à 1 -_- No comprendo !


Ton cl_predict ne peut être qu'à 1 (activé) ou 0 (désactivé).
Tu ne confondrais pas avec le cl_interp_ratio par hasard ?
Réponse #48
Par dozer - 18/08/2015 16:09:32
Merci pour le partage
Réponse #49
Par Oldwaren - 18/08/2015 16:19:04
Salut ! Très intéressante ! J'essaye de mettre mon cl_predict à 4 mais pas moyen ! Je le met à 4 dans ma config, je lance mon jeu et il est toujours à 4 sur le menu et arrivé sur un serveur, il redescend à 1 -_- No comprendo !


Ton cl_predict ne peut être qu'à 1 (activé) ou 0 (désactivé).
Tu ne confondrais pas avec le cl_interp_ratio par hasard ?


Oui effectivement je confondais ! Je sais pas du tout pourquoi je voyais cl_predict mdr Désolé ! Et merci pour ta réponse !
Réponse #50
Par 7ony - 18/08/2015 16:22:34

- pour les fps, j'ai sans doute fait une erreur dans le pastebin. En effet, d'après une doc que j'ai trouvé https://developer.valvesoftware.com/wiki/Interpolation, ils disent qu'une mise à jour serveur à besoin de trois frames pour être complètement affichée. Ce qui signifie que, dans l'idéal, les fps doivent être 3 fois plus élevé que le tickrate et l'updaterate. D'ailleurs, quand vous installer le jeu cs go pour la première fois, le cl_updaterate est à 20 et les fps_max à 60 (x3). Par contre, rien ne sert de mettre un fps_max qui ne sera pas supporté par votre écran. Cela va faire travailler votre carte graphique pour rien (et donc chauffer pour rien et donc abimée sur le long terme pour rien, sauf si vous la refroidissez correctement). Donc si vous avez une carte graphique très puissante, limiter la valeur de fps_max au taux de rafraichissement de votre écran. Si votre carte graphique n'est pas ultra performante, attention de ne pas la faire travailler excessivement, il est possible qu'elle galère à atteindre le taux de rafraichissement de votre écran (selon le matériel que vous avez). A l'inverse, si vous avez un écran 100Hz par exemple, avec une carte graphique dernier cri, vous n'aurez JAMAIS plus de 100 fps par seconde affichées. Le nombre de fps sur le net_graph sera supérieur à 100 parce que votre carte graphique en calcul plus que 100 (avec un fps_max à 0 par exemple)... pour rien.
C'est pour ça que je dis que les fps doivent "dans l'idéal" être 3x plus élevé que le tickrate et l'updaterate. Dans les faits, trouvez moi un écran qui affiche du 128 x 3 Hz ? Et même pour une carte graphique puissante, calculer 128 x 3 frame par seconde, c'est beaucoup.



calculé, pas forcement affiché, si il calcule les 2 frames mais ne les affiche pas(fps max 384 et ecran a 128fps) tu aura la troisieme 3 fois plus vite que si tu etais a fps max 128 par exemple? a l echelle humaine on ne verra pas la difference mais theoriquement sa marche comme ça non?


Non, parce que ton écran sera à la traine. Ta carte graphique balance 384 fps à ton écran, mais ton écran ne peut se rafraîchir qu'une fois toutes les 8 milliseconde (1000 millisecondes / 128 hz = 8). Donc, entre deux frames affichées sur ton écran, plusieurs auront été jetées à la poubelle. Deuxième possibilité, une file d'attente se met en place à la sortie de ta carte graphique. Sauf que cette file d'attente ne peut être infinie (elle grossirait indéfiniment), donc des frames sont inévitablement jetées à la poubelle.

Je ne sais pas lequel des deux mécanismes est utilisé par les cartes graphique et les écrans mais dans tous les cas, des frames ne sont pas affichées et tu n'es absolument pas assuré d'avoir les dernières, les plus fraîches.



c est bien ce que je voulais dire, les 2 qui vont a la poubelle ne te feraient pas atendre un affichage de 2 frames a l'ecran "inutiles"
Page 5 sur 8
1
...
3
4
5
6
7
...
8