HDCP : à désactiver pour améliorer (un peu) la latence

Dans cette partie vous trouverez des papiers, articles sur l'informatique/sécurité.
Avatar de l’utilisateur
Parisien_entraide
Messages : 19604
Inscription : 02 juin 2012 20:48
Localisation : Thomas Anderson : Je suis dans et en dehors de la matrice :-)

HDCP : à désactiver pour améliorer (un peu) la latence

par Parisien_entraide »

2024-07-01_175542.jpg
HDCP : A DESACTIVER POUR AMELIORER "UN PEU" LA LATENCE


HDCP est l’acronyme de High-Bandwidth Digital Content Protection, ce qui signifie Protection des Contenus Numériques à Haute Bande passante (c’est-à-dire en haute définition).
Il s’agit d’une protection matérielle et logicielle destinée à contrôler les flux audio-vidéo numériques HD et UHD pour en interdire la copie numérique directe.

En bref HDCP est mis en œuvre pour protéger le contenu numérique contre la copie illégale et donc HDCP affecte à la fois l’audio et la vidéo

La protection HDCP est implantée dans les contrôleurs HDMI, DVI et DisplayPort des lecteurs audio-vidéo numériques (lecteurs Blu-ray, lecteurs Blu-ray UHD 4K, lecteurs réseau AV, décodeurs TNT/SAT), des répartiteurs et commutateurs HDMI, des amplis home-cinéma, des barres de son, des TV (TV UHD 4K, TV OLED, TV QLED, TV Lifestyle) et des vidéoprojecteurs (vidéoprojecteurs ultra courte focale, vidéoprojecteurs UHD 4K).

Donc pour visionner du contenu vidéo UHD 4K depuis n’importe quelle source UHD 4K sur un téléviseur 4K ou un vidéoprojecteur 4K, il faut non seulement que le lecteur et l’afficheur soient équipés de contrôleurs HDMI compatibles HDCP 2.2 ou HDCP 2.3, mais aussi que cette norme anti-copie HDCP 2.2 ou HDCP 2.3 soit prise en charge par tous les maillons intermédiaires. Sans quoi c’est l’écran noir.

Il y a des parades mais ce n'est pas le but ici
Ce qu'il faut retenir c'est que la désactivation HDCP, ce n'est pas à utiliser pour tous les cas de figure, comme par ex relier le PC à la TV

Du reste sur des matériels, HDCP est implémenté en temps réel sur les puces HDMI elles-mêmes.
Cela n’ajoute AUCUN décalage détectable. Peut-être quelques cycles d'horloge au maximum. Les puces n'ont pas de véritable buffer, il est impossible d'ajouter du décalage là où il n'y a pas de buffer.



Article ancien mais toujours d'actualité (Du moins pour la première page, puisque pour le reste les cartes graphiques se sont actualisées)
https://www.hardware.fr/articles/603-1/ ... crans.html

ou pour le SteamVR qui nécessite HDCP

Sinon.. Aucun jeu n'impose la conformité HDCP d'où l'usage
Cela peut servir aussi pour ceux qui ont deux moniteurs avec des fréquences différentes ou un non conforme à la norme ou ancien (En DVI par ex)


Si vous utilisez une carte Nvidia (Ou Intel), vous ne pouvez pas du tout désactiver HDCP.
Nividia ne le permet pas et ne fournit aucun correctif pour le permettre.
Seules les cartes Radeon d'AMD vous permettent de désactiver le HDCP via leurs paramètres d'affichage.

https://www.son-video.com/guide/resoudr ... ilite-hdcp
https://support.nvidia.eu/hc/fr/article ... 3%A9viseur

Pour NVIDIA il faut procéder autrement


AVERTISSEMENT

!
Modifier le registre n'est pas sans risque. Donc faite une sauvegarde du registre avant manipulation



HDCP


Recherchez la valeur de HardwareInformation.AdapterString pour vous aider à identifier votre carte graphique et la clé appropriée pour créer le DWORD. (par exemple 0000, 0001, 0002)

On peut récupérer via le gestionnaire de périphériques, dans les propriétés de la carte graphique ---> Choisir l'onglet "détails" et dans le menu déroulant le "GUID Classe"
2024-07-01_171055.png

Ce qui me donne : {4d36e968-e325-11ce-bfc1-08002be10318}

Là je peux ensuite aller dans le registre et trouver la clé correspondante (menu rechercher)

En cas de doute vous devriez voir un "display" dans la fenetre de droite
2024-07-01_173145.png
Sinon vous remplacez votre GUID Classe, par celui qui apparait ci dessous

Code : Tout sélectionner

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0000]
"RMHdcpKeyglobZero"=dword:00000001
Vous ouvrez le bloc note, copiez ce qui figure ci dessus, , vous renommez en .reg, vous double cliquer dessus, pour appliquer (ne pas tenir compte du message d'avertissement)

Au final la clé devrait apparaitre ici (ne pas tenir compte des autres valeurs au dessus et en dessous, qui peuvent être différentes de ce que vous avez car j'ai pas mal modifié de choses)

2024-07-01_173611.png

Après avoir relancé l'ordi cela devrait s'afficher ainsi dans les paramètres NVIDIA
2024-07-01_173656.png

Cette méthode est compatible avec Easy-Anti-Cheat, EA anticheat etc... Cela ne touche pas aux fichiers de jeux, cela ne vous donne pas un avantage en jeu autre qu'une meilleure latence, vous n'avez pas des reflexes de cyborg, donc ce n'est pas de la triche
Cela permet de tirer parti du matériel que l'on détient, parce que c'est la latence cumulée qui peut devenir pénible




POURQUOI ?

En fait on devrait parler d'input lag et si on se réfère à différents tests, suivant l'équipement on peut réduire de 10 à 20ms l'input lag et en latence de 1 à 3 ms
HDCP traite l'audio et vidéo avec une clé de 4056-bits
La protection va vérifier périodiquement que la clé 4056-bits correspond bien par ex à la TV et la console. Cela introduit donc une latence donc vous n'avez pas besoin en jeux



A SAVOIR

- Il y a effectivement une latence mesurable si activé, MAIS cela n'affectera QUE les jeux GPU dépendant (Donc pas un ARMA etc qui est CPU dépendant)

Activé ou pas, cela n'affecte ni la qualité, les performances ou la charge de travail.

Pour certains cela fonctionne mieux si le HPET est activé, pour d'autres pas (Cas des anciens processeurs)
- Si vous jouez sur des FPS, cela ne fera pas de vous un meilleur joueur SAUF si vous avez des reflexes de cyborg, par contre réduire latence (du moins celle cumulée) met toutes les choses de votre côté

En fait entre les réels effets et l'effet placebo, cela rejoint les conseils de NVIDIA sur la latence

A lire https://github.com/BoringBoredom/PC-Optimization-Hub (MAIS Attention de ne pas appliquer comme un bourrin)
Idem ici https://docs.google.com/document/d/14ma ... mW8GE/edit

Tout ce qu'ils expliquent est prévu pour les derniers processeurs/Cartes Graphiques sortis et windows 11
Si on applique par ex le "low latency mode" sur des anciens PC ou d'anciens jeux, cela ajoute de la latence

Par contre cela peut aider quelque soit le matériel dans les paramètres Nvidia

Accédez à :
Ajuster la taille et la position du bureau et choisissez
Effectuer une mise à l'échelle sur le GPU , puis choisissez Aucune mise à l'échelle.

Sous Gérer les paramètres 3D puis Paramètres du programme , sélectionnez votre jeu dans la liste, puis effectuez les opérations suivantes :
Mode de gestion de l'alimentation : laissez-le sur Puissance optimale globalement et réglez-le sur Préférer les performances maximales pour votre jeu.

On a déjà traité du HPET sur le site et forum, et cela peut etre positif ou pas suivant la configuration matérielle, mais depuis Windows 10 cela s'est amélioré donc là aussi c'est à tester
Perso chez moi en ayant le HPET désactivé dans le BIOS et ces commandes (à activer via CMD en mode administrateur)

useplatformclock No
useplatformtick No
disabledynamictick Yes


J'ai une meilleure réactivité du PC au niveau global, mais avec une légère perte de FPS

MAIS si votre PC est récent (et dispose par ex des processeurs des 13 et 14ème génération, donc la carte mère qui va avec, et un Windows 11 qui tient compte de certaines spécificités)

Les commandes comme

bcdedit /set useplatformclock false
bcdedit /set useplatformtick yes
bcdedit /set tscsyncpolicy legacy

Ne sont pas nécessaires
Windows 11 utilise RTC-tick par défaut.

Mais un disabledynamicktick à No, dans w11 "peut' provoquer des problèmes avec le minuteur du noyau (idem avec useplatformtick yes)
Il faut savoir que sous Windows 11, l'OS, parce que les jeux nécessitent une minuterie de 1 ms, s'adapte à cette minuterie de 1ms (En général cela affiche plutot 0,997 ms)

La valeur par défaut de Windows est de 15,625 ms.
Il n'est donc pas nécessaire de modifier le timer car les jeux (et les applications multimédia) le feront et le mettront à 1 ms.
(également en partie à cause de MMCS)

Windows définit automatiquement la résolution du minuteur en fonction de ses besoins. On peut le voir dans powercfg -energy (par exemple) pour voir quelles applications, etc., demandent que la résolution du minuteur soit abaissée (ou augmentée).

Traditionnellement, la résolution du minuteur tombait à 1,0 ms ou 0,5 ms~ (avec quelques variations, cela dépend également de la version de Windowset de l'utilisation de HPET ou iTSC. (Idem pour les valeurs 0,496 ms, ou d'autres valeurs étranges qui pourraient en fait faire dériver le minuteur vers le haut ou vers le bas dans certaines charges de travail).




A SAVOIR : le réglage de deletevalue useplatformclock et useplatformtick (les deux à "no" en fait)
ignorent complètement les paramètres HPET dans le bios surtout sur les PC récents, affichant un minuteur minimum de 0,496 pour les versions Windows 1803+ et 0,513 pour les versions inférieures.

Par contre on peut tester sous Windows 10 (même si > 20H2 car normalement c'est le meme soucis que Win11)
bcdedit /set disabledynamictick yes ou no

Il faut savoir AUSSI qu'un HPET en OFF dans le bios peut affecter le HITREG (ca ne touche pas lors d'un tir)
Le désactiver peut affecter la latence de la souris, mais sur les systèmes plus récents que Windows1803 avec useplatformtick yes, cela provoque un gros délai DPC et un décalage de gigue.
Tout ce que vous avez à faire est de désactiver le

bcdedit /set disabledynamictick yes
bcdedit /deletevalue useplatformclock (Dans Windows donc et pas le bios)

et tester
bcdedit /set useplatformtick yes ou no

Pour ceux qui sont encore sous les anciens OS (Win7, Win/8, et .iso modifiées 1607, 1709) il faut laisser
bcdedit /set useplatformtick yes

Pour les jeux, il faut utiliser le plein écran, car le mode fenêtré donnera possiblement de moins bons résultats.

Après il est possible que l'horloge de base ne soit pas stable.
Si une minuterie n'est pas parfaitement synchronisée avec le processeur (aucun processeur n'est vraiment identique), cela peut entraîner des problèmes dans les jeux et donner l'impression d'un décalage ou que le jeu ne répond pas (clic souris pour un kill par ex)

Accessoirement vérifier si le RTC est synchronisé avec le minuteur ACPI/QTC/
Il faut juste synchroniser votre heure Windows avec un serveur ntp
On peut le vérifier avec https://time.is/

En fait.. Il faut tester car tout est dans le : PC récent ou pas, version de Windows, et pire il y a des différences d'usage au sein d'un meme Windows de base (comme Win10 avec les premières versions et les plus récentes)
Donc c'est la jungle et Microsoft ne dit pas grand chose

Sur les PC récent on peut meme désactiver (gestionnaire de périphériques)
2024-08-31_135436.png

Et j'en rajoute une couche, car en termes de jeux, une résolution du minuteur de 1 ou 0,5 ms A effet sur de nombreux limiteurs de fréquence d'images internes du moteur (beaucoup de jeux basés sur Cryengine, CSGO, pour n'en citer que quelques-uns).
Cela dépend cependant de l'implémentation du limiteur dudit moteur.
Si un jeu utilise une mécanique similaire à RTSS ou à la dernière itération de Nvidia, je doute qu'il fasse grand-chose.
De plus, en fonction du jeu, et en excluant tout limiteur de FPS en soi, il peut toujours rendre les temps d'image beaucoup plus fluides, sans parler du fait que certains jeux fonctionnent mieux dans des situations liées au processeur avec un minuteur abaissé.

La valeur 0,5ms (qu'on peut forcer avec ISLC par ex) peut sembler être une réduction de la latence d'entrée, mais en pratique, cela peut finir par augmenter la latence dans certaines situations.
Une valeur plus faible ne signifie pas toujours un décalage d'entrée plus faible, mais cela signifie une précision plus élevée. Il n'y a pas de réponse définitive à ce qui est le mieux, cela dépend de la situation, de vos besoins et du résultat final.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
- Only Amiga... Was possible ! Lien https://forum.malekal.com/viewtopic.php?t=60830
- « Un problème sans solution est un problème mal posé. » (Albert Einstein)
- « Tous les patients mentent » (Théorème du Docteur House) Que ce soit consciemment ou inconsciemment
- Jeff Goldblum dans Informatic Park, professeur adepte de la théorie du chaos : « Vous utilisez un crack, un keygen ? Qu’est-ce qui pourrait mal tourner?? »
- Captcha : Il s'agit d'un ordinateur qui demande à un humain de prouver.. qu'il n'est pas un ordinateur ! (Les prémices du monde de demain)
- Dans le monde il y a deux sortes de gens : Ceux qui font des sauvegardes et .. Ceux qui vont faire des sauvegardes (Extrait du Credo.. Telle est la voie ! )
  • Sujets similaires
    Réponses
    Vues
    Dernier message

Revenir à « Papiers / Articles »