🛡️ Anti Stuttering : Intelligent standby list cleaner (ISLC)

Poster ici les programmes utiles que vous avez découverts
Avatar de l’utilisateur
Parisien_entraide
Messages : 20767
Inscription : 02 juin 2012 20:48
Localisation : Thomas Anderson : Je suis dans et en dehors de la matrice :-)

🛡️ Anti Stuttering : Intelligent standby list cleaner (ISLC)

par Parisien_entraide »

PREAMBULE :

index.jpg


Sous Windows dont et surtout avec Windows 10 le stuttering dans les jeux (malgré le mode "jeux") peut avoir plusieurs causes

Néanmoins le principal est le fait de fuites mémoires, parfois allié à une quantité de RAM insuffisante

A cela on y ajoute une fonctionnalité qui a débarqué dans Win10

https://blogs.windows.com/windowsexperi ... ild-10525/

Extrait :

"Dans Windows 10, nous avons ajouté un nouveau concept de gestion de la mémoire appelé un magasin de compression, qui est une collection de pages compressées en mémoire .
Cela signifie que lorsque gestionnaire de mémoire ressent une pression de mémoire, il comprimera les pages inutilisées au lieu de les écrire sur le disque.
Cela réduit la quantité de mémoire utilisée par processus, permettant à Windows 10 de maintenir plus d'applications dans la mémoire physique à la fois. Cela contribue également à une meilleure réactivité dans Windows 10.
Le magasin de compression est dans le travail du processus du système.
Étant donné que le processus système maintient le magasin en mémoire, son ensemble de travail augmente plus précisément lorsque la mémoire est disponible pour d'autres processus.
Ceci est visible dans le Gestionnaire des tâches et la raison pour laquelle le processus système semble consommer plus de mémoire que les versions précédentes.

La forte utilisation mémoire par SYSTEM est du fait de la compression de mémoire non utilisée.
Elle doit baisser (se libérer) lorsque le système/processus requiert de la mémoire. Dans les faits ce n'est toujours pas le cas et cela peut être contraignant dans les applis lourdes et pour les joueurs"





Le NDU

Il faut savoir que cette histoire de NDU est un vieux serpent de mer (déjà visible sous Windows 8)
Initialement le problème était le pool non paginé causé par des pilotes obsolètes, par exemple, les utilisateurs MSI avec Killer Network étaient mentionnés

NDU signifie « Utilisation du diagnostic réseau » et est une métrique de diagnostic.
Il surveille essentiellement l’utilisation des données du réseau.

MAIS NDU est aussi un pilote qui aide le système d'exploitation à communiquer avec le matériel interne de l'ordinateur. Il détecte les nouveaux appareils.
Par exemple, NDU aide le système d'exploitation à communiquer avec les ports USB pour détecter tous les périphériques USB connectés.

La désactivation du registre NDU peut être utile, car NDU ne recherchera plus de nouveaux appareils en permanence. Cela permet d'économiser à la fois la puissance de calcul et les ressources système telles que l'utilisation de la mémoire.

Effet négatif : Dans de rares cas cela introduit des déconnexion internet. Pour rétablir il suffit de remettre la valeur de la clé à "2"

Effet positif : De nombreux jeux qui font appel au réseau (Cela a résolu pas mal de soucis pour les joueurs de Flight Silmulator nouvelle version par ex qui télécharge de nombreuses données via le réseau) et ce que ce soit sous Windows 10 ou Windows 11


La désactivation "peut" permettre d'éviter les fuites mémoire (du moins certaines)


Cette fonctionnalité est donc désactivable via une clé de registre

Code : Tout sélectionner

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Ndu 
clé à laquelle on attribue la valeur "4" pour désactiver la fonction

Détails et autres ici : viewtopic.php?t=53292&start=


Bref cela se complexifie
Pour en savoir plus sur la mémoire Mesurer l’utilisation mémoire sur Windows.



BUT DE L'APPLICATION :



L’application surveillera et effacera de la liste, ce qui traine en mémoire dans la "mémoire en cache dite de veille" (liste d'attente, pages modifiées, processus inutiles pour les jeux, ...) si celle-ci est > 1000 Mo (1 Go) ET si la quantité de mémoire est < à 1000 Mo (1Go)

Les paramètres indiquent que les deux conditions doivent être remplies en même temps

Ce n'est pas une programme miracle pour une situation donnée, mais cela a dépanné par mal de personnes confrontées au problème sous divers jeux, même avec 16 Go de RAM

Un visu avec RamMap
2020-01-10_194413.png

Concernant la mémoire de veille :

Quand une application charge un fichier en mémoire celui-ci n'est pas effacé quand elle le ferme, il reste disponible avec une entrée correspondant à "son age" dans une table.

Cette mémoire est disponible, c'est juste qu'elle ne sera donnée qu'en seconde priorité si la mémoire dite "libre" n'est pas suffisante.
Les programmes qui y étaient devront donc être rechargés la prochaine fois,

Elle est seulement utilisée en second lorsque la mémoire libre n'est plus disponible

Dans le cas des joueurs, nombre de programmes stockés qui ne sont pas en relation avec les jeux, ou de de données de jeux obsolètes restent dans le cache qui ne se vide pas
(Vu sous BF1 et BF V suivant les configs)

Sur d'autres jeux cela peut aller jusqu'au.. PLANTAGE


INSTALLATION


Il suffit de télécharger la dernière version de l'application sur le site Web du développeur (qui est celui de DDU)

Edit de janvier 2024 : Lien actualisé depuis la sortie de cette présentation
https://www.wagnardsoft.com/ISLC/ISLC%20v1.0.3.4.exe


la version antérieure pouvait poser problème sous certaines configurations de Windows 10 (Pas de soucis sous Windows 11)
L'auteur suggère une solution https://www.wagnardsoft.com/forums/view ... f=5&t=1256

L'ancienne version fonctionne bien cependant (et surtout n'utilise pas les compteurs de performance)
https://www.wagnardsoft.com/ISLC/ISLC%20v1.0.1.0.exe

puis de l' exécuter afin d' extraire l'archive dans un dossier que l'on peut choisir

Le programme lui-même est portable et peut être exécuté à partir de n'importe quel endroit sans installation.

Cependant l'auteur précise qu'il faut lui donner des droits administrateur avant lancement (clic droit sur le programme ---> Propriétés) ou
2019-02-24_133451.png
On peut suivre l'évolution des divers outils de l'auteur sur
https://www.wagnardsoft.com/forums/view ... 1020a16d69




USAGE :

Dans l'absolu il n'y a pas grand chose à faire hormis de cliquer sur "START"
Edit du 05/12/2021 : Néanmoins pour une configuration optimale voir le dernier message de ce sujet

2019-02-24_122253.png

Certaines parties sont modifiables, comme la mémoire à gérer pour que les 2 conditions soient réunies
Idem pour le timer Resolution (dans ce contexte l'auteur ne dit pas quelle est la relation avec son programme)

On peut forcer la fonction (Purge StandByList)


Points négatifs :

Cela fait une tâche de plus en arrière plan. Cependant (chez moi) toutes les 10 secondes j'ai une activité CPU de 0.01 et une conso mémoire constante de 49.9 Mo, donc.. C'est très négligeable
On ne voit pas le détail de ce qui est effacé
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 ! )
Malekal_morte
Messages : 116656
Inscription : 10 sept. 2005 13:57

Re: Anti Stuttering : Intelligent standby list cleaner (ISLC)

par Malekal_morte »

Première règle élémentaire de sécurité : on réfléchit puis on clic et pas l'inverse - Les fichiers/programmes c'est comme les bonbons, quand ça vient d'un inconnu, on n'accepte pas !
Comment protéger son PC des virus
Windows 11 : Compatibilité, Configuration minimale requise, télécharger ISO et installer Windows 11

Comment demander de l'aide sur le forum
Partagez malekal.com : n'hésitez pas à partager les articles qui vous plaisent sur la page Facebook du site.
Avatar de l’utilisateur
Parisien_entraide
Messages : 20767
Inscription : 02 juin 2012 20:48
Localisation : Thomas Anderson : Je suis dans et en dehors de la matrice :-)

Re: Anti Stuttering : Intelligent standby list cleaner (ISLC)

par Parisien_entraide »

On peut également avec https://wj32.org/wp/software/empty-standby-list/ se créer une tâche via le gestionnaire de tâches mais cela fait apparaitre pendant une seconde une petite fenêtre cmd qui peut perturber

Avec l'outil ISLC, l'avantage c'est que l'on peut lancer et stopper le processus lorsqu'on le souhaite, et surtout définir une plage mémoire d'usage qui ne s'activera pour le nettoyage que si besoin est
- 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 ! )
Malekal_morte
Messages : 116656
Inscription : 10 sept. 2005 13:57

Re: Anti Stuttering : Intelligent standby list cleaner (ISLC)

par Malekal_morte »

Merci.
Je ferai un article dans le système sur les outils pour gérer la mémoire de Windows =)
Première règle élémentaire de sécurité : on réfléchit puis on clic et pas l'inverse - Les fichiers/programmes c'est comme les bonbons, quand ça vient d'un inconnu, on n'accepte pas !
Comment protéger son PC des virus
Windows 11 : Compatibilité, Configuration minimale requise, télécharger ISO et installer Windows 11

Comment demander de l'aide sur le forum
Partagez malekal.com : n'hésitez pas à partager les articles qui vous plaisent sur la page Facebook du site.
Malekal_morte
Messages : 116656
Inscription : 10 sept. 2005 13:57

Re: Anti Stuttering : Intelligent standby list cleaner (ISLC)

par Malekal_morte »

Première règle élémentaire de sécurité : on réfléchit puis on clic et pas l'inverse - Les fichiers/programmes c'est comme les bonbons, quand ça vient d'un inconnu, on n'accepte pas !
Comment protéger son PC des virus
Windows 11 : Compatibilité, Configuration minimale requise, télécharger ISO et installer Windows 11

Comment demander de l'aide sur le forum
Partagez malekal.com : n'hésitez pas à partager les articles qui vous plaisent sur la page Facebook du site.
Avatar de l’utilisateur
Parisien_entraide
Messages : 20767
Inscription : 02 juin 2012 20:48
Localisation : Thomas Anderson : Je suis dans et en dehors de la matrice :-)

Re: Anti Stuttering : Intelligent standby list cleaner (ISLC)

par Parisien_entraide »

Mis à jour du lien de téléchargement avec la version V.1.0.2.6 dans le premier message de ce sujet

FAQ tirée des discussions sur le forum de Wagnard
https://www.wagnardsoft.com/forums/view ... =18&t=1256

______________

Mon PC se fige (plutôt un, microfreeze) lorsqu'ISLC purge la mémoire automatiquement
Ceci est normal sur les petites configurations avec disque dur, surtout si ISLC est installé ailleurs que sur le disque C et c'est lié à Windows
Sinon essayer des valeurs de 510 Mo pour commencer, et doubler cette valeur jusqu'à l'arrivée du micro freeze
Idem pour le polling rate. il vaut mieux laisser le paramètre par défaut (1000ms)




Qu'est ce que je dois modifier dans les paramètres avec 16 Gb de mémoire
Rien
Les valeurs "1024" pour les configuration avec 16 et 32 Gb de mémoire sont optimales
Avec 8 Gb on peut définir une valeur de 512
Mais chacun peut ajuster en fonction des besoins




ISLC ne fonctionne pas
Outre le .net installé et à jour, ISLC ne peut bien fonctionner que Si les valeurs des compteurs de performances existent ou ne sont pas corrompues

Exemple de message d'erreur :

2021-08-27_110608.png

Pour reconstruire manuellement les valeurs de bibliothèque de compteurs de performance

Ouvrir une fenêter CMD en mode administrateur et taper la commande 2 fois (une après chaque reboot) surtout si vous avez le message d'erreur
"ERROR: UNABLE TO REBUILD PERFORMANCE COUNTER SETTING FROM SYSTEM BACKUP STORE. ERROR CODE IS 2"

LODCTR /R et relancer l'ordinateur (sans démarrage rapide)

Pour rappel, la commande globale est (pas nécessaire pour ISLC) :

Reconstitution des compteurs :

Code : Tout sélectionner

cd c:\windows\system32
lodctr /R
cd c:\windows\sysWOW64
lodctr /R  

La commande suivante est plus liée à la reconstruction et le bon fonctionnement général, et n'est pas nécessaire pour ISLC

Resynchronisation des compteurs avec Windows Management Instrumentation (WMI) :

Code : Tout sélectionner

WINMGMT.EXE /RESYNCPERF



Si cela ne fonctionne pas, ou que vous avez désactivé les compteurs de performances :

Toujours dans une fenêtre CMD en mode administrateur, vérifier que le compteur a correctement été ajouté au registre.

Code : Tout sélectionner

lodctr /Q 
et vérifier si la valeur est sur Enabled"

Exemple.png

En plus précis :

Code : Tout sélectionner

lodctr /q | find "Disabled" 
(ce qui n'affichera que les valeurs désactivées)

Par ex si la commande
lodctr /q | find "Disabled"
retoune

[ PerfDisk ] Compteurs de performances (désactivés)
[ PerfOS ] Compteurs de performances (désactivés)


Il suffit pour chaque compteur désactivé de taper la commande

lodctr /e:PerfDisk
lodctr /e:PerfOS

et de faire la même chose pour ceux qui vous intéressent



Les 4 valeurs « First Counter », « Last Counter », « First Help », « Last Help » listées par la commande doivent correspondre à celles présentes dans le registre.

On peut trouver ces valeurs ici :

Code : Tout sélectionner

HKLM\System\CurrentControlSet\Services\%servicename%\Performance
%servicename% représente tout service avec un compteur de performances. Par exemple : PerfDisk, PerfOS, etc.

Il peut y avoir des clés de registre pour "DisablePerformanceCounters" dans l'un de ces emplacements.
Conformément à l'article TechNet (voir lien plus bas) cette valeur doit être définie sur 0. Si la valeur est autre que 0, le compteur peut être désactivé.

Pour ISLC si le compteur de performances est désactivé, exécutez la commande lodctr /e:PerfOS pour l'activer.

lodctr /e:PerfOS

Relancer l'ordinateur

Pour les autres problèmes liés aux compteurs de performances et non à ISLC
https://docs.microsoft.com/en-US/troubl ... e-counters


Si il est impossible de réparer les compteurs, c'est que Windows est endommagé ou que vous avez trop "bidouillé" celui ci
Donc soit il faudra passer par une réparation https://www.malekal.com/reparer-windows ... e-donnees/
soit désactiver les compteurs via une clé de registre

Code : Tout sélectionner

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib
et de mettre "Disable performance counters" à "0"




Il est impossible de faire démarrer automatiquement ISLC avec Windows via le planificateur de tâches
Il faut exécuter le programme en tant qu'administrateur (clic droit sur le programme) et ajouter un délai au chargement (5 à 10 secondes par exemple), pour qu'ISLC se charge APRES Exlorer

Manipulation

Ouvrir le planificateur de tâches
---> Action > Créer une tâche
---> Donnez-lui un nom sous Général et cochez "Exécuter avec les privilèges les plus élevés" en bas
---> Onglet Déclencheurs> Nouveau > Au démarrage
---> Onglet Actions > Nouveau > Démarrer un programme - choisissez ISLC

Ne pas oublier de cocher la case "démarrer minimisé"
Ne pas oublier de cocher également la case pour autoriser l'exécution avec des privilèges plus élevés





ISLC se lance-t-il avec des lignes de commande ? OUI, depuis la version 1.0.3.1


Lignes de commande ISLC :
-minimisées --> Démarrer ISLC minimisé et démarrage automatique de la surveillance
-polling "votre valeur sans guillemets" --> Définir le taux d'interrogation de la mémoire (ms) pour ISLC
-listsize "votre valeur sans guillemets" --> Purger la liste de veille lorsque la taille de la liste est à cette valeur
-freememory "votre valeur sans guillemets" --> Purger la liste de veille lorsque la mémoire libre est à cette valeur
-runonce --> N'interroger qu'une seule fois, puis quitter.
-purge -> Purgera simplement la liste de veille et quittera. (fonctionnera même si ISLC est déjà en cours d'exécution)

"-listsize" et "-freememory" fonctionnent en paire. si les deux ne sont pas spécifiés, il prendra la valeur par défaut dans le fichier de configuration.
"-polling" est ignoré lorsque "-runonce" est spécifié.

Exemple : -minimized -polling 500 -listsize 1024 -freememory 1024




Est ce qu 'ISLC génère des écritures inutiles sur le SSD ?
Non, cela ne touche aucune donnée sur aucun lecteur




Est ce que le polling rate est pour la souris ?
Non, il s'agit de la fréquence à laquelle le programme va vérifier l'état de la mémoire




Le programme fonctionne en mode manuel, mais mais ne veut pas nettoyer automatiquement
C'est normal.
Si on prend l'exemple de la configuration par défaut, rie n'est nettoyé si on dispose de plus de 1024 Mo de mémoire libre
Il faut les 2 conditions pour que cela fonctionne




Est-ce que je peux me faire bannir par un programme anti triche dans mes jeux ?
Pour faire simple : NON
Par contre certains programmes comme GameGuard n'aiment pas qu'ISLC soient lancés avant eux
Solution : Mettre ces programmes dans les exceptions d'ISLC

Exclusions.png



Peut il y avoir un conflit avec SuperFetch ?
Non les deux programmes n'ont pas les mêmes finalités (sur un SSD superfetch n'est pas utile, même si les techs de Microsoft ne sont pas tous d'accord sur ce point)




Est ce qu'ISLC va augmenter le téléchargement avec le WI FI ?
NON
Ce n'est pas sa fonction





La mémoire libérée indique "0" (zéro) et semble bloquée
C'est normal
Le processus suivant les configurations peut prendre jusqu'à une minute




la liste d'exclusion empêche ISLC de se purger lorsqu'un processus de cette liste est en cours d'exécution.
Quand est-ce utile? Pour quel scénario est-il censé être utilisé, par exemple ?

Certaines applications ou certains jeux peuvent s'exécuter ou se charger davantage à partir du disque dur lorsque le cache est vidé, car ils sont programmés pour l'utiliser.
Il suffit de mettre une application en exclusion lorsque l'on pense qu' ISLC fait plus de mal que de bien pour cette application/jeu.
La liste d'exclusion sert à empêcher l'ISLC de purger la liste de réserve (faisant son travail) s'il détecte un processus que vous avez ajouté dans l'exclusion.
Si vous ajoutez disons explorer.exe, la mémoire ne sera jamais nettoyée lorsque vous jouerez par exmeple au jeu Warzone.
L'exclusion est vraiment à utiliser sur les jeux/programmes qui bénéficient d'une énorme liste de veille et que le nettoyage de la liste entraîne plus une perte de performances qu'un gain (Ce qui est le cas si le jeu/programme doit recharger des fichiers en permanence)
Pour résumer : L'exclusion est à utiliser uniquement lorsqu'il existe une application ou un jeu incompatible avec celle-ci. Ainsi, lorsque ce jeu ou cette application sera lancé, ISLC cessera de faire son travail.




le Timer résolution indique une valeur autre que 0.5ms (par ex 0.4482ms) est ce normal ?
Ce timer est liés aux pilotes etc, et ceux ci peuvent influer, idem pour ceux qui activent le HPET ou le forcent à travers Windows (le HPET est activé par défaut dans le bios/uefi et il ne faut pas y toucher du moins sous Windows 10 et idem via BCDEDIT sauf pour certains cas ou utilisations en combinaison avec les autres timers, comme la MAO ou jeux)


Le HPET "peut" résoudre pas mal de problèmes (Stuttering avec les jeux, , problèmes de TDR, problèmes de son etc MAIS ce n'est pas une baguette magique car TRES dépendant de l'ordinateur, des pilotes, et..
Donc SI (car cela n'est pas toujours possible sur les PC récents avec Windows 10 et 11) vous arrivez à désactiver le HPET dans le BIOS et WINDOWS cela permet une meilleure réactivité dans les jeux (clic de souris par ex) et surtout en MAO (Musique assistée par ordinateur) et vidéos (pour le son et décalage) MAIS sur certains PC c'est le contraire qui se produit

https://www.malekal.com/optimiser-boost ... tiver_HPET

Une valeur inférieure à 0,5 ms dans les systèmes modernes "peut" rendre un peu plus rapide et réactif le PC .
Néanmoins l'interrogation ne doit pas être trop faible/basse car il faut un peu d'utilisation du processeur pour interroger les informations de la mémoire.

Il faut cependant savoir que la valeur de l'intervalle de minuterie (Timer resolution) n'est en aucun cas liée au matériel.

Cette valeur d'intervalle est définie par une fonction du noyau Windows.
Dans la plupart des versions de Windows 10, les valeurs d'intervalle de minuterie sont calculées comme l'inverse des puissances de deux.
Par exemple, l'intervalle par défaut de 15,625 ms est calculé comme 1/(2**6), et l'intervalle le plus bas possible de 0,48828125 ms est calculé comme 1/(2**11).
C'est pour cette raison que vous ne verrez jamais des valeurs telles que 0,5, 1,0, 15,0 ms, etc.
Il y a cependant un lien avec le HPET, mais cela fera peut être l'objet d'un article à part car il s'agit d'un gros morceau

Par ex sur une ancienne configuration (ordinateur de tests) avec une carte mère en Z77, Sandy Bridge, HPET en OFF dans l'UEFI, et désactivé dans Windows, mon current Timer a la valeur : 0.448 ms
Si j'active le HPET dans l'UEFI je reviens à la valeur 0.5ms

Avec HPET = OFF (BIOS et Windows)
HPET OFF_ISLC.jpg

Et je n'ai aucune latence
DPC laten cy Time au maxr.png

Pour voir les timers il y a plusieurs possibilités mais le plus facile est avec CPU Z dans l'onglet "ABOUT" puis en bas à droite de cliquer sur "TIMERS"
Ce qui donne sans le HPET (sinon cela apparaît)
Sans HPET.png



le Timer résolution indique une valeur autre que 0.5ms (par ex 0.4959ms) est ce normal ?
Après vous être assuré que votre HPET est activé dans le BIOS, exécutez la commande cmd en tant qu'administrateur et copier coller cette commande

Code : Tout sélectionner

bcdedit /set useplatformtick yes
Il faut savoir que l'on voit cette valeur de 0.4959 surtout sur les cartes mères ASUS et surtout les z690/z790 et Windows 10
Il y a un lien en fait avec les processeurs de dernière génération (surtout la 13ème génération) et Windows 10 et les E-cores
C'est en lien avec Windows car SEUL Windows 11 est capable de gérer les E-Cores correctement (scheduler)
Windows 10 fonctionne mal avec les e-cores, les jeux considèrent e-cores=p-cores et transfèrent ses threads vers ces cores,
Il existe une fonction pour améliorer la chose, mais ce n'est pas propre




Existe il des alternatives ?
OUI avec certains programmes de Sysinternals : RamMap https://www.malekal.com/mesurer-lutilis ... r-windows/
ou PurgeMemoryCacheService
https://www.mediafire.com/file/r5p3icyv ... e.zip/file




Pour tout configurer, exécutez 'setup.bat' dans une invite de commande en mode administrateur
Pour tout nettoyer, exécutez 'cleanup.bat' dans une invite de commande en mode administrateur

Pour ceux qui veulent voir ce qui se passe derrière :

Code : Tout sélectionner

/* 2 > nul  ||  titre FreeStandbyMemory.bat par AveYo v2019.06.01 
@ écho désactivé || extrait de compilation csc, planification avancée, add_remove intégré - MISE À JOUR : détection de mémoire libre fiable 
 
définir /a CLEAR_EVERY_MINUTES=1 
définir /a CLEAR_WHEN_UNDER_MB=512 
définir /a CLEAR_SYSTEMCACHEWS=0 
 
:: check_admin_rights 
requête reg "HKEY_USERS\S-1-5-20\Environment" /v TEMP > nul 2 > nul  ||  ( 
couleur 0e &  echo . &  echo PERMISSION REFUSÉE ! Cliquez avec le bouton droit sur % ~nx0  ^& Exécuter en tant qu'administrateur 
timeout /t -1 & couleur 0f &  titre  % COMSPEC %  &  exit /b 
) 
 
:: add_remove chaque fois que le script est exécuté à nouveau 
schtasks /query /tn FreeStandbyMemory > nul 2 > nul  &&  ( 
 écho . 
schtasks /Delete /TN "FreeStandbyMemory" /f 2 > nul 
 reg delete HKLM\Software\AveYo /v FreeStandbyMemory /f 2 > nul 
 del /f /q " % Windir % \FreeStandbyMemory.exe" 2 > nul 
couleur 0b & écho . & echo SUPPRIMÉ ! Exécutez à nouveau le script pour recompiler et ajouter une planification  ! 
timeout /t -1 & couleur 0f & titre  % COMSPEC %  & sortie /b 
) 
 
:: compiler l'extrait c# 
pushd  % ~dp0 
del  /f /q FreeStandbyMemory.exe  > nul  2 > nul 
for /f "tokens=* delims=" %% v  in  ( ' dir /b /s /a:-d /o:-n " % Windir % \Microsoft.NET\*csc.exe"' )  do  set " csc=" %% v "" 
% csc % /out:FreeStandbyMemory.exe /target:winexe /platform:anycpu /optimize /nologo " % ~f0 " 
si  pas  exister FreeStandbyMemory.exe de ERROR ! Échec de la compilation de l'extrait de code c# et du délai d'attente /t -1 et de la  sortie /b 
écho | set /p=FreeStandbyMemory.exe & copy /y FreeStandbyMemory.exe " % Windir % \FreeStandbyMemory.exe" & set "OUTDIR= % Windir % " 
s'il  pas  n'existe " % Windir % \FreeStandbyMemory.exe" echo ATTENTION ! Impossible de copier FreeStandbyMemory.exe dans % Windir % \ & définir "OUTDIR= % CD % " 
 
:: configurer un calendrier avancé - peut se permettre une priorité plus élevée après le passage de wmi à winapi 
définir "task_run= % OUTDIR % \FreeStandbyMemory.exe % CLEAR_WHEN_UNDER_MB %  % CLEAR_SYSTEMCACHEWS % " 
set "schedule=/Create /RU "System" /NP /RL HIGHEST /F /SD "01/01/2001" /ST "01:00:00" " 
schtasks % planning % /SC MINUTE /MO % CLEAR_EVERY_MINUTES % /TN "FreeStandbyMemory" /TR " % task_run % " 
set "sset=$s=New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries -Priority 1 -StartWhenAvailable;" 
set "stopexisting=$s.CimInstanceProperties['MultipleInstances'].Value=3;" 
powershell -noprofile -c " % sset %  % stopexisting % $null=Set-ScheduledTask -TaskName FreeStandbyMemory -Settings $s" 
 
:: déclencher la tâche, forcer un effacement manuel et terminer la configuration 
schtasks /Run /TN "FreeStandbyMemory" 
écho . 
echo Effacement de StandbyMemory toutes les % CLEAR_EVERY_MINUTES % minutes UNIQUEMENT si la mémoire libre est inférieure à % CLEAR_WHEN_UNDER_MB % Mo 
echo Peut forcer un effacement manuellement à partir de l'invite de commande ( Admin ) en entrant : freestandbymemory 
écho . 
echo AJOUTÉ ! Exécutez à nouveau "% ~nx0 " pour supprimer l'extrait compilé et le calendrier  ! 
délai d'attente /t -1 
sortie /b 
 
:: Basé sur l'idée de "Script wrapper PowerShell pour effacer la mémoire StandBy sans RAMMap" par Alexander Korotkov 
:: Implémentation des suggestions SetSystemFileCacheSize et NtSetSystemInformation par Maks.K 
:: Utilisation de RtlAdjustPrivilege, GetPerformanceInfo, forcer l'effacement si aucun argument, sortie supprimée, aseptisé par AveYo 
*/ 
en utilisant le système ; 
en utilisant System.Diagnostics ; 
en utilisant System.Runtime.InteropServices ; 
en utilisant System.Reflection ; 
 
[assembly:AssemblyTitle ( "FreeStandbyMemory" ) ] 
[assembly:AssemblyCopyrightAttribute ( "AveYo" ) ] 
[assembly:AssemblyVersionAttribute ( "2019.06.01" ) ] 
 
espace de noms FreeStandbyMemory 
{ 
programme de classe 
  { 
static bool retv = false; 
static int MemoryPurgeStandbyList = 0x0004; 
    const int SystemFileCacheInformation = 0x0015; 
const int SystemMemoryListInformation = 0x0050; 
const entier SE_INCREASE_QUOTA_PRIVILEGE = 0x00000005; 
    const int SE_PROF_SINGLE_PROCESS_PRIVILEGE = 0x0000000d; 
[StructLayout ( LayoutKind.Sequential ) ] 
cours privé PERFINFO 
    { 
      public int cb; 
public IntPtr CommitTotal; 
public IntPtr CommitLimit; 
public IntPtr CommitPeak; 
public IntPtr PhysiqueTotal; 
public IntPtr PhysicalAvailable; 
public IntPtr SystemCache; 
public IntPtr KernelTotal; 
public IntPtr KernelPaged; 
public IntPtr KernelNonpaged; 
public IntPtr PageSize; 
public int HandleCount; 
public int ProcessCount; 
public int ThreadCount; 
      public PERFINFO () 
      { 
this.cb = ( int ) Marshal.SizeOf ( typeof ( PERFINFO )) ; 
      }         
    } 
[retour : MarshalAs ( UnmanagedType.Bool ) ] 
[DllImport ( "psapi.dll", CharSet = CharSet.Auto, SetLastError = true ) ) 
static extern bool GetPerformanceInfo ( [ In , Out ] PERFINFO pi ) ; 
[DllImport ( "psapi.dll" ) ] 
static extern bool EmptyWorkingSet ( IntPtr hwProc ) ; 
[DllImport ( "kernel32.dll" ) ] 
static extern bool SetSystemFileCacheSize ( IntPtr MinimumFileCacheSize, IntPtr MaximumFileCacheSize, int Flags ) ; 
[DllImport ( "ntdll.dll" ) ] 
static extern IntPtr RtlAdjustPrivilege ( int Privilege, bool Enable, bool CurrentThread, out bool RetValue ) ; 
[DllImport ( "ntdll.dll" ) ] 
static extern IntPtr NtSetSystemInformation ( int InfoClass, out int Info, int Length ) ; 
 
static void Main ( string[] args ) 
    { 
cible int = ( args.Length == 0 ) ? Int32.MaxValue : !!() 
bool systemcachews = ( args.Length == 0 || args.Length > = 2 && args[1] == "1" ) ; 
Int64 libre = 0 ; 
PERFINFO pi = nouveau PERFINFO () ; 
      if  ( GetPerformanceInfo ( pi )) 
      { 
Int64 disponible = pi.PhysicalAvailable.ToInt64 ()  ; 
        Int64 cache = pi.SystemCache.ToInt64 () ; 
Int64 page = pi.PageSize.ToInt64 () ; 
libre = (  ( succès > cache ) succès - cache: cache - succès ) * Page >> 20; 
/* Pour déboguer, remplacez csc /target:winexe par /target:exe et décommentez le */ de Console.WriteLine 
////Console.WriteLine ( "Total : {0,5}Mo", pi.PhysicalTotal.ToInt64 () * page >> 20 )  ; 
////Console.WriteLine Avail ( " : {0,5}Mo", pi.PhysicalAvailable.ToInt64 () * page >> 20 ) ; 
////Console.WriteLine ( "Cache: {0,5}Mo", pi.SystemCache.ToInt64 () * page >> 20 ) ; 
////Console.WriteLine ( "Gratuit : {0,5}Mo", gratuit ) ; 
      } 
      if  ( libre > cible ) return ; 
////Console.WriteLine ( "Cible :{0,5}Mo - EFFACEMENT  ! ", cible )  ; 
RtlAdjustPrivilege ( SE_INCREASE_QUOTA_PRIVILEGE, true, false, out retv ) ; 
RtlAdjustPrivilege ( SE_PROF_SINGLE_PROCESS_PRIVILEGE, true, false, out retv ) ; 
NtSetSystemInformation ( SystemMemoryListInformation, out MemoryPurgeStandbyList, Marshal.SizeOf ( MemoryPurgeStandbyList )) ; 
      if  ( cache système ) { 
SetSystemFileCacheSize ( nouveau IntPtr ( -1 ) , nouveau IntPtr ( -1 ) , 0 ) ; 
Process[] processlist = Process.GetProcesses () ; // Le système libre traite également les ensembles de travail : 
foreach ( Process p dans processlist )  if  ( p.SessionId == 0 ) try { EmptyWorkingSet ( p.Handle ) ; } catch ( Exception ) {} 
      } 
    } 
  } 
} 
/*_*/ 
L'auteur, AVEYO, est bien connu pour ses nombreux scripts de qualités
https://pastebin.com/u/aveyo



Quelle est la différence avec l'outil ISLC ?
Pour les aspects techniques et discussions
https://forums.guru3d.com/threads/fix-g ... st-5590668




Est ce que ISLC fonctionne sous Windows 11 ?
Windows 11 ne gère pas mieux la mémoire donc ISLC est toujours préconisé
Une version en beta est dispo ici https://www.wagnardsoft.com/ISLC/ISLC%20v1.0.2.6.exe Edit: La version définitive est sortie
La fonction "enable customer timer resolution doit être désactivée au lancement (donc si activée, la désactiver et relancer)




Est ce que ISLC fonctionne sous Windows 11 et les nouvelles générations de processeurs ?

Lorsque l' IGPU est actif sur W11 avec Alder Lake, ISLC ne démarre pas
L'observateur d'événements renvoie l'erreur "Chemin du module défaillant : C:\Windows\SYSTEM32\ControlLib.dll".
La désactivation de l'IGPU dans le gestionnaire de périphériques résous le problème




Pourquoi Microsoft ne force-t-il pas 0,5 au lieu de 1 dans les jeux si c'est mieux ?
L'une des raisons est l'utilisation de la batterie pour les appareils mobiles/ordinateurs portables.



Est ce que l'on peut modifier/forcer cette valeur pour indique 0.5 via la clé de registre ?
Non. L'appel à cette fonction s'effectue via une API Win32





J'ai activé ISLC mais j'ai toujours autant de latence malgré le fait que j'ai défini la valeur 0.5 ms à Timer Résolution


Sur certaines configurations (sauf Windows 7 mais il est devenu obsolète) le fait que EnableLUA soit sur 0 pose problème
Il faut donc changer la valeur dans le registre et la placer sur 1 (qui est la valeur par défaut il faut se le rappeler)

Code : Tout sélectionner

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
EnableLUA doit être défini sur 1

Pour d'autres, en plus de LUA à 1 il faut désactiver l'UAC sur le panneau de configuration

Code : Tout sélectionner

cmd /c reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v FilterAdministratorToken /t REG_DWORD /d 0 /f

Il faut se rappeler que la clé enableLUA désactive totalement le contrôle de compte utilisateur pour la machine.
Le contrôle de compte utilisateur est appliqué à tous les utilisateurs.

Cela va donc plus loin que de désactiver l'UAC et est moins sécurisé.
En plus cela peut sous windows 10 apporter des effets secondaires
Par ex il est possible que les applications du store ne se lancent pas
Meme la calculatrice ne se lancera pas

De mon point de vue je ne suis pas partisan de toucher à ce qui est lié à la sécurité
Donc se méfier des programmes d'optimisation qui vous demandent de désactiver tout cela
Il a été vu également que lors d'un passage de Win7 à Win11, la valeur "0" qui avait été définie sous Win7 n'avait pas été rétablié à "1" (qui est la valeur par défaut sous Win10)


Certains prograpmmes peuvent également mettre le bazar
Par ex il a été constaté qu'avec iCUE 4 (CORSAIR Utility Engine) pour les claviers, souris, tapis de souris, casques audio, boîtiers, systèmes de surveillance, systèmes d'éclairage,

On voit là le lancement de iCUE4, puis d'ISLC qui essaie de prendre la main. Ensuite iCUE4 reprend le dessus
DPC avec ICUE4.png



Est ce que ISLC corrige les fuites mémoire ?
NON
ISLC intervient pour libérer de la mémoire qui peut etre saturée du fait des fuites mémoire




ISLC version 1.0.2.8 ne fonctionne pas et affiche un message d'erreur

win10.jpg



Il faut installer .net 4.8
Mais même si .net 4.8 est installé, sous Windows 7 on peut avoir ce message d'erreur avec ISLC 1.0.2.8
(La version 1.0.2.7 fonctionne ou même la version 1.0.2.6)
win7.jpg

Code : Tout sélectionner

Nom de l’application défaillante Intelligent standby list cleaner ISLC.exe, version : 1.0.2.8, horodatage : 0xd277394b
Nom du module défaillant : KERNELBASE.dll, version : 6.1.7601.24545, horodatage : 0x5e0eb6bd
Code d’exception : 0xe0434352
Décalage d’erreur : 0x000000000000b87d
ID du processus défaillant : 0x6b0
Heure de début de l’application défaillante : 0x01d8e398985f0249
Chemin d’accès de l’application défaillante : C:\Program Files (x86)\ISLC\New\ISLC v1.0.2.8\Intelligent standby list cleaner ISLC.exe
Chemin d’accès du module défaillant: C:\Windows\system32\KERNELBASE.dll
ID de rapport : d93f90ed-4f8b-11ed-965d-d05099722cce

Code : Tout sélectionner

Application : Intelligent standby list cleaner ISLC.exe
Version du Framework : v4.0.30319
Description : le processus a été arrêté en raison d'une exception non gérée.
Informations sur l'exception : System.EntryPointNotFoundException
   à Intelligent_standby_list_cleaner_ISLC.Win32_SetProcessInformation.SetProcessInformation(IntPtr, PROCESS_INFORMATION_CLASS, IntPtr, Int32)
   à Intelligent_standby_list_cleaner_ISLC.Win32_SetProcessInformation.SetProcessInfo(IntPtr, PROCESS_INFORMATION_CLASS, System.Object)
   à Intelligent_standby_list_cleaner_ISLC.ProcessInformationWrapper.SwitchToHighQoS()
   à Intelligent_standby_list_cleaner_ISLC.MainWindow.Main_Initialized(System.Object, System.EventArgs)
   à System.Windows.FrameworkElement.RaiseInitialized(System.Windows.EventPrivateKey, System.EventArgs)
   à System.Windows.FrameworkElement.TryFireInitialized()
   à MS.Internal.Xaml.Runtime.ClrObjectRuntime.InitializationGuard(System.Xaml.XamlType, System.Object, Boolean)

Informations sur l'exception : System.Windows.Markup.XamlParseException
   à System.Windows.Markup.XamlReader.RewrapException(System.Exception, System.Xaml.IXamlLineInfo, System.Uri)
   à System.Windows.Markup.WpfXamlLoader.Load(System.Xaml.XamlReader, System.Xaml.IXamlObjectWriterFactory, Boolean, System.Object, System.Xaml.XamlObjectWriterSettings, System.Uri)
   à System.Windows.Markup.WpfXamlLoader.LoadBaml(System.Xaml.XamlReader, Boolean, System.Object, System.Xaml.Permissions.XamlAccessLevel, System.Uri)
   à System.Windows.Markup.XamlReader.LoadBaml(System.IO.Stream, System.Windows.Markup.ParserContext, System.Object, Boolean)
   à System.Windows.Application.LoadBamlStreamWithSyncInfo(System.IO.Stream, System.Windows.Markup.ParserContext)
   à System.Windows.Application.DoStartup()
   à System.Windows.Application.<.ctor>b__1_0(System.Object)
   à System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
   à System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
   à System.Windows.Threading.DispatcherOperation.InvokeImpl()
   à MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(System.Object)
   à System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   à System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   à System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
   à MS.Internal.CulturePreservingExecutionContext.Run(MS.Internal.CulturePreservingExecutionContext, System.Threading.ContextCallback, System.Object)
   à System.Windows.Threading.DispatcherOperation.Invoke()
   à System.Windows.Threading.Dispatcher.ProcessQueue()
   à System.Windows.Threading.Dispatcher.WndProcHook(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
   à MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
   à MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)
   à System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
   à System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
   à System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32)
   à MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr)
   à MS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSG ByRef)
   à System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame)
   à System.Windows.Application.RunDispatcher(System.Object)
   à System.Windows.Application.RunInternal(System.Windows.Window)
   à Intelligent_standby_list_cleaner_ISLC.App.Main()






Solution :

- Pour l'instant il faut revenir à la version 1.0.2.7 (Pour Windows 7, car la version 1.0.2.8 fonctionne bien sous Windows 10 et 11)
Concernant la version 1.0.2.7
https://www.wagnardsoft.com/ISLC/ISLC%20v1.0.2.7.exe
ChangeLog :- Correction d'un problème avec la "Liste d'exclusion

Pour les autres versions de WIndows, s'assurer que .net est à jour (on peut le vérifier de plusieurs manières mais celle avec Regedit fonctionne - voir plus bas pour le lien Microsoft)

Pour Windows 7 et les problèmes liés à .net Framework (mais il est déconseillé de garder cette version obsolète de windows ) en cas de problèmes voir cette page
https://www.malekal.com/erreur-mise-a-j ... windows-7/

Petite astuce :

BIen vérifier que certains services Windows sont démarrés

- Programme d'installation pour les modules windows
- Service de transfert intelligent en arrière plan
- Windows Installer
- Windows update



ATTENTION ! (en attendant une mise à jour) le lien ci dessus fait état de la version 4.7 qui n'est plus disponible sur le site Microsoft, car remplacée par la version 4.8


Pour rappel il est impératif d'installer la version offline en anglais (et pas la version Web installer), avant d'installer une autre langue

La version hors ligne de .net 4.8 pour Windows (toutes versions dont Windows 7) et version de langue
https://dotnet.microsoft.com/en-us/down ... work/net48


ATTENTION (Bis) Si on se réfère au tableau
https://learn.microsoft.com/fr-fr/dotne ... quirements

La version 4.8.1 n'est pas compatible windows 7

Si on veut savoir si la version 4.8 est installée (source Microsoft)

https://learn.microsoft.com/fr-fr/dotne ... -installed

La version de .NET Framework (4.5 et ultérieure) installée sur un ordinateur est répertoriée dans le Registre sous

Code : Tout sélectionner

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full. 
Si la sous-clé Complète est manquante, cela signifie que .NET Framework 4.5 ou version ultérieure n’est pas installé.
Exemple avec WIndows 7
NET 4 8 regedit Windows 7.jpg


RAPPEL :
Dans Windows 7 SP1 et Windows Server 2008 R2 SP1, la mise à jour pour Microsoft.NET Framework 4.8 (KB4503548) s'affiche en tant que produit installé sous Programmes et fonctionnalités dans le Panneau de configuration.

NEt framework 4 8 Windows 7.jpg



Les versions définitives de la v 1.0.2.6, 1.0.2.7 et v1.0.2.8 ont été testées sous Win7 pro, Win8 et Win10 21H1/21H2 pro, et fonctionnent (tests personels) SAUF la version 1.0.2.8 sous WIndows 7 Pro ( .net 4.8 installé, mais ISLC indique un message d'erreur)





Est ce que l'on peut forcer "Current Timer résolution à 0.500ms ?

Il est TRES difficile d'avoir 0.500 ms(il y a de sombres calculs dont je ne vais pas faire état sans compter les versions de Windows, l'age du PC, paramètres, etc)
Par ex en cochant la case et en déterminant 0.500ms en réel on peut avoir 0.4482ms ou 0.4959ms (ASUS)

MAIS dans le cadre d'une "optimisation" dont pour les jeux, comme il a été dit, l'interrogation ne doit pas être trop faible/basse car il faut un peu d'utilisation du processeur pour interroger les informations de la mémoire.



Deux solutions :

Soit mettre une valeur comme 0.5005 ou 0.5004ms (suivant les ordinateurs) pour se.. rapprocher des 0.500ms mais la valeur pourra être de 0.5004ms..
Ce n'est pas grave, le tout est d'être "autour" de 0.500ms et pas en dessous

L'autre solution est avec le logiciel "SetTimerResolution", (voir lien ci dessous) avec lequel on peut se créer un fichier .bat (à lancer en administrateur)
Dans mon exemple il est sur le disque "D" à la racine, mais il peut se placer n'importe où (sauf racine de C:\ et certains dossiers protégés)

Idéalement elle devrait être de 5000 donc à tester

Code : Tout sélectionner

start D:\SetTimerResolution.exe --resolution 5007 --no-console
Pour le lancer, un clic droit sur le fichier .bat et choisir Exécutuer en tant qu'administrateur
Ensuite on pourra constater la valeur affichée avec ISLC (sans avoir coché évidemment "Enable custome timer resolution")



IMPORTANT

On peut lire un peu partout une modification de la clé indiquée ci dessous, avec une valeur à "1"
En effet cette fonction est utilisée afin que la demande d'une résolution plus élevée soit efficace à l'échelle du système plutôt que uniquement au niveau du processus d'appel.

Voici le chemin. On peut également copier/coller dans le bloc notes de Windows, et sauvegarder le fichier avec un .reg
Il suffit ensuite d'effectuer un double clic sur le fichier pour exécuter la commande (il y a des avertissements mais c'est normal)

Code : Tout sélectionner

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\kernel]
"GlobalTimerResolutionRequests"=dword:00000001
Ceci est une capture de mon registre.
Il y a plein de clés que vous n'aurez pas et .. c'est normal puisque j'ai effectué plein de modifications
Ce PC est tweaké à fond pour le jeu
globaltimerresolution.png



La clé de registre ne fonctionne que sous Windows 11.
La modification a été apportée après la mise à jour Win10 v2004 mais elle ne fonctionne toujours pas (Elle n'est pas prise en compte)

Je conseille la lecture de
https://randomascii.wordpress.com/2020/ ... le-change/
et
https://learn.microsoft.com/en-us/windo ... eginperiod

Et pour RAPPEL, toutes les manipulations sont prévues pour un PC de bureau et non pour un PC portable (cela consomme de la batterie)
Qu'il n'y a pas de baguette magique, chacun doit tester car les résultats peuvent être différent

Pour information, car dans ce package il y a les programmes SetimerResolution (une version améliorée) et les outils de mesures comme MeasureSleep et TimerBenchmark (il faut les droits administrateur pour les utiliser)
https://github.com/SwiftyPop/TimerResBenchmark (TimerResBenchmark)
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 ! )
Avatar de l’utilisateur
Parisien_entraide
Messages : 20767
Inscription : 02 juin 2012 20:48
Localisation : Thomas Anderson : Je suis dans et en dehors de la matrice :-)

Re: Anti Stuttering : Intelligent standby list cleaner (ISLC)

par Parisien_entraide »

ISLC est sorti en version définitive v1.0.2.6 (Faq de l'article précédent mis à jour et idem pour le lien de téléchargement du premier article)


Fonctionner sous Windows 10 et Win dows 11 même si le paramètre LUA est à 0.(il y a une restriction pour l usage du processeur Alder Lake et Windows 11 - cf la FAQ du message précédent)

Téléchargement : https://www.wagnardsoft.com/ISLC/ISLC%20v1.0.2.6.exe


L'application surveillera et effacera la liste d'attente de la mémoire en fonction du paramètre d'options configuré, que vous avez défini.

Cela peut aider les utilisateurs qui ont du stuttering (bégaiements) dans les jeux lors de l'utilisation de la mise à jour de Windows 10 Creator et d'une version supérieure de Windows (y compris Windows 11).


Journal des modifications :
- ISLC emprunte maintenant l'identité du compte 'SYSTEM' lors du changement du "Timer résolution"

Si vous avez des problèmes pour l'exécuter.


Exécuter dans un CMD (invite de commande en mode administrateur) 2 fois :

Code : Tout sélectionner

LODCTR /R 

et redémarrer


Si cela ne fonctionne toujours pas , il est vérifié si le compteur de performances est activé et si ce n'est pas le cas de l'activer

Si

Code : Tout sélectionner

lodctr /q 
est indiqué en "Désactivé"

Alors il faut appliquer la commande :

Code : Tout sélectionner

lodctr /e:PerfOS

Un programme de débogage pour le groupe d'administrateurs sous les politiques de sécurité locales (SECPOL.MSC) est également requis. (c'est la valeur par défaut de Windows de toute façon.)

Un redémarrage est requis après ces changements
- 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 ! )
Avatar de l’utilisateur
Parisien_entraide
Messages : 20767
Inscription : 02 juin 2012 20:48
Localisation : Thomas Anderson : Je suis dans et en dehors de la matrice :-)

Re: Anti Stuttering : Intelligent standby list cleaner (ISLC)

par Parisien_entraide »

Dans le premier message on a pu voir qu'ISLC permet de faire du nettoyage dans l’utilisation de la mémoire RAM pour éviter des chutes de performances sur vos sessions de jeu, et pallier par ex à des fuites mémoire
La conséquence si on ne touche à rien étant qu'obligatoirement cela va basculer sur le SWAP, donc amener du stuttering (bégaiements) au mieux...


Il y a deuxième usage d'ISLC qui passe souvent à la trappe :

Forcer les logiciels à se synchroniser à l’horloge du système pour effectuer des actions toutes les 0,5 milliseconde au lieu de 1 à 15ms par défaut (l’horloge peut être forcée par d’autres logiciels via l’API de Windows)
Vu que c'est implémenté il faut en profiter.
il y a 10 ans j'ai du payer pour avoir la meme chose dans un petit programme

Est ce utile ? Dans certains cas
Mais ca l'est pour tout ce qui est mal codé




Revenons plus en détails sur l'interface : Quels réglages appliquer sur ISLC ?

ISLC-Details.jpg

  • 1) - Laisser dans “the list size is at least” (la taille mémoire est d'au moins) : 1024 Mb (ce n'est pas la traduction exacte mais c'est voulu)
    - Laisser dans " free memory is lower than" (La mémoire libre est plus basse que) la valeur par défaut de 1024

    J'ai noté que plusieurs personnes indiquent d'adapter ce dernier paramètre à la RAM totale soit

    Code : Tout sélectionner

    Pour  8 Go indiquez   4096 
    Pour 16 Go indiquez   8192 
    Pour 32 Go indiquez  16384 

    Après plusieurs tests je le déconseille

    Ayant actuellement une fuite mémoire soit d'ORIGIN, soit de certaines pilotes (dont graphiques), mais je ne me suis pas encore penché sur l'origine du problème, dans un jeu comme BF V, après 2h de jeu, j'arrivais parfois à une dizaine de nettoyage mémoire (suivant le type de jeu comme le mode conquête etc) en indiquant 8 192 pour 16 Go de RAM détenues

    Normal, plus on indique une valeur haute plus le processus de nettoyage se lancera
    C'est contre productif, comme tout ce que l'on touche dès lors que c'est dans un cache car cela oblige au rechargement de ce qui est stocké, et c'est une perte de temps

    Par contre en jeu je ne m'aperçois pas de ces nettoyages mais j'ai donc laissé la valeur par défaut préconisée du reste par l'auteur, soit 1024

    - La valeur qui apparait : "2" est le nombre de nettoyage

  • 2) - Ces options en bas à gauche permettent de faire en sorte que le logiciel se lance automatiquement après le démarrage de Windows ET se mettre en réduction dans la barre de tâches
    Vous pouvez cocher les 2 cases.ou une seule

    Dans l'exemple je n'ai pas ajouté le lancement au démarrage vu que je n'ai pas de soucis en usage bureautique ou d'autres jeux
    De plus vu que je suis partisan de laisser le minimum de taches et services et de virer ce qui n'est pas utile pour mon usage ou pour Windows, je ne vois pas l'intérêt de laisser ce paramètre coché
    Chacun adapte en fonction de ses besoins
  • 3) - Vous pouvez effectuer un nettoyage manuel "Purge Stand By list", forcé donc, ce qui incrémentera le compteur (où le chiffre "2" apparait)
    Les autres valeurs indiquent la quantité de RAM détenue, la "StandBy List Working Set" (ce qui est donc en cache), et "Free Memory", qui indique tout
    ce qui est libéré et libre
  • 4) - Le polling Rate n'est pas en relation avec le taux de scrutation de votre souris, mais la fréquence avant action
    J'ai indiqué une valeur de 10 secondes, donc le logiciel vérifiera si les conditions sont réunies ou pas pour un nettoyage toutes les 10 secondes
    Je ne vois pas l'intérêt de laisser la valeur par défaut de 1ms (ce qui sur les petites configs peut influer sur la conso processeur du moins prendra un % de temps processeur qui serait utile à autre chose comme aider le GPU)
  • 5) - Ce bouton "STOP" est important car c'est à partir de lui que vous pourrez insérer la quantité de RAM pour le paramètre "free memory is lower than" si vous souhaitez la modifier, ET surtout pour cocher la case "Enable Custom Size Resolution" afin d'insérer une valeur dans "Wanted Timer resolution"

    Une fois fait, on clique sur " START"
  • 6) - C'est là qu'on peut indiquer ce qui va jouer sur la latence en jeu, à savoir une valeur de 0.50ms (c'est le minimum que l'on puisse indiquer)

    A savoir : Si vous voyez dans “Current timer resolution” un nombre différent, comme un peu supérieur ou inférireur comme par 0,4882 ms ou autre, c'est... normal
    Cela peut varier en fonction du modèle de carte mère de votre ordinateur
    A cela on y ajoute le HPET (Bios et sous Windows) qui à son mot à dire
    Le HPET fera l'objet d'un sujet à part car il y a trop à dire sur le sujet mais je vais résumer un peu plus loin
  • 7) Si on le souhaite on peut exclure des programmes du nettoyage via le bouton "Exclusion"
  • 8) Un programmeur ca ne vit pas d'amour et d'eau fraîche et de fraises tagada. On peut faire un don (Et aucune somme n'est imposée) via Paypal, si le programme plait et que l'on s'en sert



LE HPET :

Son efficacité dépend

- De l'âge du PC et là, on peut avoir un gain ou PAS, suivant que l'on active le HPET dans le bios ou PAS, et.. IDEM sous Windows (qui ne l'est pas par défaut sous les OS avant Win 8.0 et Win10
Sur ce dernier OS il n'est QUE partiellement implémenté

Ce gain EST réel pour ceux qui font surtout de la MAO (Musique assistée par ordinateur), mais aussi du montage vidéo
Pour les joueurs c'est la roulette russe car dépendant du hardware CM+processeur, de la version de Windows, ....

Globalement cela stabilise le PC en jeu (et peut même éviter les problèmes de TDR comme vu par le passé), il n'y aura pas ou plus de drops de la carte graphique par ex qui jouaitau yoyo en jeux, idem pour le processeur, MAIS cela peut introduire de la latence (dont pour la souris) et une baisse relative des FPS (de 1 à 3 FPS)

Sur les hardware moderne, le HPET n'est plus désactivable dans le BIOS, et la fonction du reste n'apparait même plus
Par contre il est actif par défaut

Je fais un copier coller :

HPET n'a rien à voir avec le minuteur système.
C’est un compteur de haute précision que Windows peut utiliser dans l’implémentation de sa fonction QueryPerformanceCounter (). Il a été introduit pour éliminer le comportement problématique (sur les anciens systèmes multicœurs) de QueryPerformanceCounter implémenté sur TSC.
Dans les nouveaux processeurs, TSC est implémenté correctement et s'appelle Invariant TSC.



Et un tableau comparatif

HPET-activation.jpg

On voit souvent dans les forums, des gens qui ont des soucis de lecture video youtube, de décalage image son etc sous Win10
En fait c'est dépendant de leur hardware (CM+Processeur) et ils faut qu'ils testent AVEC et SANS HPET pour voir ou pas des améliorations


Dans Windows 10, la partie logicielle est appelée en Français et dans l'OS "Compteur d'évènement de haute précision" soit " High Precision Event Timer." en anglais, que l'on trouve dans "Gestion de l'ordinateur"----> "Gestionnaire de périphériques" sous la rubrique Périphériques système et cela peut être désactivé

On peut le faire via le gestionnaire de périphériques mais on a plus de maitrise car l'on voit ce que l'on fait en ouvrant une commande CMD en mode administrateur,

Si vous avez une erreur de type : ""Une erreur s'est produite lors de la tentative de suppression de l'élément de données spécifié. Élément introuvable"
c'est que la commande n'était pas en place et fonctionnelle


Rappel, pour afficher : bcdedit /enum
Ces commandes fonctionnent sous Windows 8.1 et Win10 (non testées sous Win11)

Pour DESACTIVER le HPET La dernière ligne est optionnelle car est dédiée surtout à certaines CM ASUS (Certaines ROG par ex) et .. au débogage)

Code : Tout sélectionner


bcdedit /deletevalue useplatformclock
bcdedit /set disabledynamictick yes

bcdedit /deletevalue tscsyncpolicy


ACTIVER (redémarrer le PC et de préférence pas en mode rapide) :

Code : Tout sélectionner

bcdedit /set useplatformclock true
bcdedit /set disabledynamictick no 

bcdedit /set tscsyncpolicy Enhanced


Sauf que ce n'est plus possible sur certaines cartes mères,(ASUS par ex) car le HPET en BIOS est défini comme actif, indispensable et prioritaire au lancement de l'ordi et ira rechercher une fonction dans Windows que l'on a .. désactivé
Cela va déstabiliser le processeur qui va tourner pendant X secondes à 100% au lancement du PC

En plus chez ASUS, conscient de l'importance du HPET, sur certaines cartes mères ils ont leur propre solution maison qui remplace le HPET, tout comme pour contrer le bug des 4 slots mémoire, ils ajoutaient un peu de tension en douce, mais sans que la valeur BCLK dans BIOS/UEFI ne l'indique (cela affiche 100%)
Avec ASUS il y a toujours des surprises

Il faut donc avant d'éteindre le PC réactiver le HPET et au lancement le désactiver (se créer un .bat par ex)


Pour voir les timers il y a plusieurs possibilités mais le plus facile est avec CPU Z dans l'onglet "ABOUT" puis en bas à droite de cliquer sur "TIMERS"
Ce qu donne sans le HPET (sinon cela apparait)
Sans HPET.png

Il faut également savoir qu'il y a un lien avec les latences entre tout cela et (surtout pour la carte graphique) avec les IRQ en MSI viewtopic.php?t=62058


Pour les joueurs il n'y a AUCUN rapport avec la latence réseau et avec le "Ca ne touche pas" (comme dans Battelfield)
Votrre Hit-Reg dépend du ping, de votre distance (client) au serveur, du route, du nombre et des performances des commutateurs et des serveurs, de votre box/routeur, de la latence du système (qui inclut la souris, le moniteur et les composants de votre PC) du nombre de joueurs, du moteur de jeux etc.

Se méfier également des données de programmes comme LATENCYMON ou DPC LATENCY CHECKER
C'est utile pour la MAO, tout ce qui touche à la VIDEO et AUDIO mais pour les jeux c'est "presque secondaire

LatencyMon, par exemple, ne montre pas les latences des pilotes. Il affiche les temps d'exécution de la routine DPC dans l'onglet "Pilotes" (avec le nombre ISR et DPC). Et il affiche le temps d'exécution ISR le plus élevé (ainsi que le nom du pilote avec le temps d'exécution de routine ISR le plus élevé) dans l'onglet "Stats"


Perso j'ai cela avec toutes mes manips :
DPC laten cy Time au maxr.png

Mais si vous avez cela c'est presque secondaire
Ici la personne a installé l' iCUE 4 (CORSAIR Utility Engine) pour les claviers, souris, tapis de souris, casques audio, boîtiers, systèmes de surveillance, systèmes d'éclairage
On voit le bazar que cela génère
DPC avec ICUE4.png

Le seul gain (théorique) à espérer pour les joueurs, en désactivant le HPET, c'est un nombre de FPS légèrement plus élevé, et une latence souris moindre (visible en jeu du reste)


Juste un exemple spécifique (car là le gain en FPS est énorme) :







Néanmoins les résultats ne sont pas à l'identique pour tout le monde (soit c'est positif soit c'est négatif car c'est dépendant du hardware) il faut donc.. tester
Pour d'autres en activant tout, cela permet d'avoir un PC plus stable
Il n'y a donc pas de réponse unique

La seule certitude est pour la MAO et le montage video avec audio où le HPET activé fonctionne bien (du moins sur la majorité des CM+Processeurs et Windows 7, 8 et 10)

Le sujet a été évoqué (mais différemment) dans un tuto/présentation sur le site : https://www.malekal.com/resoudre-les-be ... tiver_HPET
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 ! )
Avatar de l’utilisateur
Parisien_entraide
Messages : 20767
Inscription : 02 juin 2012 20:48
Localisation : Thomas Anderson : Je suis dans et en dehors de la matrice :-)

Re: Anti Stuttering : Intelligent standby list cleaner (ISLC)

par Parisien_entraide »

Les versions définitives de la v 1.0.2.6, 1.0.2.7 et v1.0.2.8 ont été testées sous Win7 pro, Win8 et Win10 21H1/21H2 pro, et fonctionnent (tests personels) SAUF la version 1.0.2.8 sous WIndows 7 Pro ( .net 4.8 installé, mais ISLC indique un message d'erreur)

La version 1.0.2.7 https://www.wagnardsoft.com/ISLC/ISLC%20v1.0.2.7.exe fonctionne sur toutes les versions de Windows
La version 1.0.2.8 impose sur tous les OS .net 4.8 mais malgré l'installation du .net 4.8, ne fonctionne pas sous Windows 7

Attention la version 4.8.1 de .net n'est pas compatible windows 7

Tous les détails dans la FAQ un peu plus haut (actualisée au 21/10/2022)
- 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 ! )
Avatar de l’utilisateur
Parisien_entraide
Messages : 20767
Inscription : 02 juin 2012 20:48
Localisation : Thomas Anderson : Je suis dans et en dehors de la matrice :-)

Re: Anti Stuttering : Intelligent standby list cleaner (ISLC)

par Parisien_entraide »

2023-08-01_112857.png
Je m'aperçois que j'ai omis de parler du programme TIMERBENCH

https://www.overclockers.at/articles/th ... at-it-isnt

et

https://www.anandtech.com/show/12678/a- ... results/5



L'auteur du programme indique

______
En 2017, Intel a publié sa dernière plate-forme haut de gamme appelée Skylake X.

En examinant le processeur alors inédit, j'ai trouvé un bogue dans leur implémentation de la minuterie d'événement de haute précision.
Il était considérablement plus lent que sur d'autres plates-formes et influençait tous les résultats de référence lorsqu'il était activé.
Pour analyser la cause du problème, j'ai écrit un outil de référence appelé TimerBench. Cette anomalie est désormais largement connue sous le nom de « bogue HPET ».

TimerBench teste les performances théoriques et de jeu de la fonction de minuterie "QPC" (QueryPerformanceCounter) de Windows pour comparer différents paramètres de minuterie. Le test du jeu utilise Unreal Engine 4 et DirectX 11.

Un autre aspect important de TimerBench est sa capacité à injecter une DLL dans les applications en cours d'exécution pour compter les invocations de diverses fonctions de minuterie Win32.
Cette fonctionnalité permet d'analyser les problèmes de performances dus à une utilisation intensive des minuteries ainsi que les problèmes de sécurité et de fiabilité des minuteries.
________

Bien lire également l'article de overclockers.at avec entre autre le conseil suivant :

Nous recommandons le processus suivant pour déterminer si votre système est retenu par la configuration de votre minuterie :

Code : Tout sélectionner

    - Choisissez la résolution la plus basse avec laquelle vous jouez.
    - Fermez les autres applications telles que les navigateurs, car elles peuvent avoir un impact négatif lors du test de HPET.
   -  Démarrez le benchmark.
    - Changez le "Mode QPC" en TSC ou l'inverse. Un redémarrage sera nécessaire.
    - Répétez les étapes 1 à 3 et comparez les résultats. 
Utilisez le bouton "Ouvrir le résultat" pour charger les résultats des courses précédemment enregistrées.
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 ! )
Avatar de l’utilisateur
Parisien_entraide
Messages : 20767
Inscription : 02 juin 2012 20:48
Localisation : Thomas Anderson : Je suis dans et en dehors de la matrice :-)

Re: Anti Stuttering : Intelligent standby list cleaner (ISLC)

par Parisien_entraide »

UNE FAUSSE BONNE IDEE

Dans plusieurs tutos j'ai pu noter qu'il était souvent fait état d'une modification de la base de registre sous Win10/11 pour réduire la latence
(ne pas se fier aux noms de clés qui apparaissent en dessous, vu que j'utilise Park Control, qui modifie certains états de conso et que l'hybernation est désactivée)
2023-08-18_112415.png


Situation dans le registre

Code : Tout sélectionner

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Power
Il faut créer une valeur dword 32 bits avec le nom CoalescingTimerInterval et lui attribuer la valeur "0" (zéro) - Du reste c'est la valeur par défaut attribuée


Déjà ce n'est pas à utiliser ou à éviter sur les ordis portables (impact sur la durée de vie de la batterie)

En théorie, cette désactivation de " la fusion de la minuterie" PEUT potentiellement réduire le délai d'entrée dans certains scénarios, mais l'étendue de l'amélioration et les effets secondaires négatifs potentiels peuvent varier en fonction de votre configuration matérielle spécifique et de vos habitudes d'utilisation.

La fusion de la minuterie est une fonction d'économie d'énergie implémentée dans les systèmes d'exploitation Windows, y compris Windows 10.

Elle fonctionne en regroupant les événements de la minuterie pour réduire le nombre de fois que le processeur doit se réveiller d'un état inactif, économisant ainsi de l'énergie.
Cependant, cela peut introduire un léger retard dans le traitement de certaines tâches urgentes, telles que tout ce qui est lié à la saisie (clavier, souris, ...)



LES EFFETS POSTIFS

Réduction du délai d'entrée : la désactivation de la fusion de la minuterie peut aider à réduire le délai d'entrée, en particulier dans les situations où vous rencontrez des retards notables lors de l'interaction avec votre système. Cependant, l'amélioration réelle peut varier en fonction de divers facteurs, notamment votre configuration matérielle, la charge de travail du système et les applications spécifiques que vous utilisez.



LES EFFETS NEGATIFS


Compatibilité du matériel et des pilotes : Alors que la plupart des systèmes devraient gérer la désactivation de la fusion de la minuterie sans problème, il convient de mentionner que certains composants matériels ou pilotes de périphériques peuvent s'appuyer sur cette fonctionnalité pour fonctionner de manière optimale.
Le désactiver peut potentiellement entraîner des problèmes de compatibilité, entraînant un comportement inattendu ou même une instabilité du système.

Consommation d'énergie : la désactivation de la fusion du minuteur peut augmenter légèrement la consommation d'énergie, car le processeur se réveillera plus fréquemment pour traiter les événements du minuteur.
Bien que l'impact sur la consommation d'énergie soit généralement négligeable, cela vaut la peine de considérer si vous accordez la priorité à l'efficacité énergétique.

Comportement du système : la désactivation de la fusion du minuteur peut affecter le comportement global du système, ce qui peut entraîner différents modèles d'utilisation du processeur.
Dans certains cas, cela peut entraîner une utilisation accrue du processeur, ce qui peut avoir un impact sur les performances globales du système ou sur la durée de vie de la batterie, selon votre ordinateur

Il est important de comprendre que l'impact de la désactivation de la fusion des temporisateurs peut varier d'un système à l'autre et qu'il ne fournit pas toujours une amélioration notable du délai d'entrée.

Si vous rencontrez un retard ou une latence d'entrée important, il est conseillé d'explorer d'autres options d'optimisation, telles que la mise à jour des pilotes, l'ajustement des paramètres système ou la mise à niveau du matériel si nécessaire.

Enfin, avant d'apporter des modifications au registre Windows, il est recommandé de créer un point de restauration système ou de sauvegarder vos paramètres de registre pour annuler les modifications en cas de problèmes inattendus.

A lire
https://github.com/amitxv/PC-Tuning/blo ... ule-change

et (17 pages pour tout comprendre)
https://forums.guru3d.com/threads/windo ... ce.376458/


Ensuite il y a une chose importante à savoir (En lien avec les minuteries, le HPET, ..

Dans le passé, les ordinateurs étaient conçus pour fonctionner aussi vite que possible.
Aujourd'hui, ils sont conçus pour fonctionner aussi efficacement que possible et la vitesse (réactivité en temps réel) n'est plus vraiment considérée comme critique, mais les économies d'énergie le sont
Dans le passé, nous avions des PC lents avec l'accélérateur activé à plein régime, maintenant nous avons des PC très puissants qui veulent toujours utiliser le minimum d'accélérateur possible.
Cela provoque toutes sortes de problèmes lorsque l’on tente d’obtenir une réactivité en temps réel.

De plus il y a de très grandes différences entre les premières moutures de Windows10 et les dernières et/ou Windows11 pour tout ce qui touche à latence (en partie avec ce qui précède)

_______

Wagnard (auteur de DDU et ISLC) indique :

Voici quelques informations intéressantes sur une "fonctionnalité" qui fonctionne différemment dans Windows 11 par rapport à Windows 10 :

Lorsqu'un processus choisit d'activer PROCESS_POWER_THROTTLING_IGNORE_TIMER_RESOLUTION, toutes les demandes de résolution de minuterie actuelles effectuées par le processus seront ignorées. .

Les temporisateurs appartenant au processus ne sont plus garantis pour expirer avec une résolution de temporisateur plus élevée, ce qui peut améliorer l'efficacité énergétique.

Après avoir explicitement désactivé PROCESS_POWER_THROTTLING_IGNORE_TIMER_RESOLUTION, le système se souvient et honore toute demande de résolution de minuterie précédente par le processus.

Par défaut dans Windows 11, si un processus propriétaire d'une fenêtre devient complètement fermé, minimisé ou autrement non visible pour l'utilisateur final, et non audible, Windows peut automatiquement ignorer la demande de résolution du minuteur et ne garantit donc pas une résolution supérieure à la valeur par défaut.

Windows 11 ignore la demande de résolution du minuteur de processus
(contournable avec l'outils Wagnard Tools viewtopic.php?t=69498 )
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 ! )
Avatar de l’utilisateur
Parisien_entraide
Messages : 20767
Inscription : 02 juin 2012 20:48
Localisation : Thomas Anderson : Je suis dans et en dehors de la matrice :-)

Re: Anti Stuttering : Intelligent standby list cleaner (ISLC)

par Parisien_entraide »

A noter une alternative (Mais sans le timer resolution) : Windows Memory Cleaner

Sur le site
https://www.malekal.com/windows-memory- ... r-memoire/

Sur le forum
viewtopic.php?t=73300

Le programme va libérer de la mémoire jusque dans ses derniers retranchements
Peut etre plus complexe à utiliser
- 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 ! )
Avatar de l’utilisateur
Parisien_entraide
Messages : 20767
Inscription : 02 juin 2012 20:48
Localisation : Thomas Anderson : Je suis dans et en dehors de la matrice :-)

Re: Anti Stuttering : Intelligent standby list cleaner (ISLC)

par Parisien_entraide »

Un outil intéressant que Wagnard l'auteur d'ISLC va soit incorporer dans son programme, soit en faire une application à part

Celui qui est actuellement disponible, permet d'ajuster précisément la valeur du timer (Testé et approuvé :-)

TimerResBenchmark
https://github.com/SwiftyPop/TimerResBe ... me-ov-file

Comme expliqué dans le lien, il est généré un fichier .txt dans le dossier dans lequel on a collé l'ensemble des programmes

Ce fichier peut prendre 1 minute ou 2 pour être finalisé, le temps que les tests soient effectués (on le voit de toutes les façons via dans la fenêtre CMD ouverte pour l'occasion)
Après c''est tout simple il suffit de suivre les indications du lien et ensuite dans ISLC de mettre la meilleure valeur qui apparait (Cela ne sera JAMAIS 0.500)
- 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 ! )
Avatar de l’utilisateur
Parisien_entraide
Messages : 20767
Inscription : 02 juin 2012 20:48
Localisation : Thomas Anderson : Je suis dans et en dehors de la matrice :-)

Re: 🛡️ Anti Stuttering : Intelligent standby list cleaner (ISLC)

par Parisien_entraide »

2024-12-09_094207.jpg


ISLC est passé en version 1.0.3.4 (J'ai effacé les indications de sorties des autres versions qui apparaissaient sur ce sujet sauf si elles pouvaient être enrichies par du complément d'information)



MODIFICATIONS


L'application surveillera et effacera la liste de mémoire en attente en fonction du paramètre d'options configuré que vous avez défini.

Cela peut aider les utilisateurs qui ont du stuttering (Bégaiments) dans les jeux lorsqu'ils utilisent la mise à jour de Windows 10 Creator et la version supérieure de Windows.

- Ceci est considéré comme une version bêta et tel quel.
- Si jamais cela devient populaire, j'ajouterai plus d'options configurables.

- Améliorations de l'efficacité : réduction de l'utilisation du processeur, ce qui entraîne un impact plus léger sur les ressources système.
- Correction d'un problème lié à la résolution de la minuterie et à la décimale du système étant une virgule ou un point.


Wagnard a répondu à la question

Qu'est-ce que « utiliser GlobalTimerResolutionRequests » ?
Est-ce que ça vaut la peine d'être utilisé ? Ça fait quoi exactement ? Dois-je l’activer pour jouer sur Win 11 ?

Le comportement de la résolution du minuteur sous Windows a changé avec la sortie de Windows 10 v2004 pour s'effectuer par processus plutôt qu'à l'échelle du système comme auparavant.
Cela a conduit les processus à ne pas définir eux-mêmes une résolution de minuterie spécifique et à utiliser la résolution de minuterie par défaut de 15,625 ms (64 Hz), ce qui peut avoir divers effets dans les jeux développés avec l'hypothèse erronée que la résolution de la minuterie était beaucoup plus élevée.

Un exemple de problème courant dans un jeu utilisant la résolution de minuterie par défaut est un plafond/limite inattendu de 64 FPS.

Windows 11 a reçu la possibilité de restaurer le comportement précédent via une valeur de registre, *l'option que vous avez mentionnée*. À ma connaissance, cette option n'est pas disponible sous Windows 10.
Donc, techniquement, dans Windows 11, il ne sert à rien de forcer une résolution de minuterie avec ISLC si vous ne cochez pas également cette option
.



TELECHARGEMENT DIRECT

https://www.wagnardsoft.com/ISLC/ISLC%20v1.0.3.4.exe



Et comme un développeur ne vit pas que d'amour, d'eau fraiche et de fraises tagada...

Si vous souhaitez aider Wagnardsoft, vous pouvez faire un Don via paypal
https://www.paypal.com/donate/?hosted_b ... 2QAS7KLV7N

Bitcoin : bc1q5qqjq97c33r46agjareeqjjaf865x6zmtekhzx

Soutien via la page PATREON .
https://www.patreon.com/wagnardsoft
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 à « Programmes utiles »