FAQs / Issues / Solutions (ISLC)

Post Reply
User avatar
Parisien_entraide
Posts: 11
Joined: Fri Aug 27, 2021 9:04 am
Location: Paris FRANCE
Contact:

FAQs / Issues / Solutions (ISLC)

Post by Parisien_entraide »

Ok it's in French :-) It's a problem because the rule say : "This is an English website, all forum posts must be written in English "
But you can translate with (or make a real transltate)


For Firefox : https://addons.mozilla.org/fr/firefox/a ... ginas-web/
And
Chromium based browsers https://github.com/FilipePS/Traduzir-paginas-web





FAQ tirée des discussions sur le forum
ET
https://forum.malekal.com/viewtopic.php?t=62286
______________

Mon PC se fige (plutôt un, microfreeze) lorsqu'ISLC purge la mémoire automatiquement
Ceci est normal sur les petites configurations avec un 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 (1000 ms)
Néanmoins pour éviter de trop solliciter votre ordinateur une valeur de 10 000 ms est TRES raisonnable

Attention ! Certains utilisateurs confondent cette fonction avec le polling rate de la souris. C'est différent
Le polling rate de la souris est le rapport, le taux d’interrogation. Il s’agit simplement de la fréquence à laquelle la souris communique avec l’ordinateur
Par ex si la souris affiche un polling rate de 125 Hz, cela signifie quel la souris est interrogé 125 fois par seconde (soit toutes les 8 ms)
Pour un polling rate de 500 Hz, cela fait 2 ms (et 1ms pour 1000 HZ)




Qu'est ce que je dois modifier dans les paramètres avec 16 Gb de mémoire
NON
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 fonctionne que Si les valeurs des compteurs de performances existent ou ne sont pas corrompues

Exemple de message d'erreur :

Message erreur.png


Pour reconstruire manuellement les valeurs de bibliothèque des compteurs de performances

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 (Et ce n'est pas nécessaire pour ISLC) :

Reconstitution des compteurs :

Code: Select all

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: Select all

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: Select all

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

loqctr.png

En plus précis :

Code: Select all

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

Par ex si la commande

Code: Select all

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

Code: Select all

lodctr /e:PerfDisk

Code: Select all

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: Select all

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: Select all

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




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
La valeur par défaut est de 1000 ms mais la valeur de 10 000 ms est raisonnable




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, rien n'est nettoyé si on dispose de plus de 1024 Mo de mémoire libre
Il faut les 2 conditions pour que cela fonctionne
Pour le mode automatique, ne pas oublier de cliquer sur le bouton "'START"



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
Lorsque je faisais du support pour EA, par exemple, je n'ai JAMAIS vu un programme tiers de ce genre, faire bannir un joueur (les tricheurs mentent toujours et accusent toujours des tiers, que ce soit des personnes ou des programmes)

Exclusion.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 techniciens de Microsoft ne sont pas tous d'accord sur ce point)




Est ce que 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, pilotes, et.. version de Windows
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 méilleure 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 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

With HPET = OFF (BIOS and 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 apparait)
Sans HPET.png





Existe il des alternatives ?
Oui avec certains programmes de Sysinternals (RamMap) https://www.malekal.com/mesurer-lutilis ... r-windows/
ou
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: Select all

/* 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é (depuis la version 1.0.2.6)
Si il y a un problèem, 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 ?
Il y a plusieurs raisons, mais la principale est l'utilisation de la batterie pour les appareils mobiles et 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: Select all

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: Select all

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établie à "1"
(qui est la valeur par défaut sous Win10)

Certains programmes peuvent également mettre le bazar
Par exemple, cela a été constaté 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 de cette marque

On voit dans cette image le lancement de iCUE4, puis d'ISLC qui essaie de prendre la main.
Ensuite iCUE4 reprend le dessus
DPC avec ICUE4.jpg




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

Lien direct de la version Offline https://dotnet.microsoft.com/en-us/down ... -installer
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)
win7.jpg

Code: Select all

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: Select all

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
Lien direct de téléchargement et pages de langues
https://dotnet.microsoft.com/en-us/down ... -installer


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: Select all

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 et .net 4.8 installé
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 personnels) SAUF la version 1.0.2.8 sous WIndows 7 Pro ( .net 4.8 installé, mais ISLC indique un message d'erreur)
You do not have the required permissions to view the files attached to this post.
Last edited by Parisien_entraide on Fri Oct 21, 2022 1:20 pm, edited 19 times in total.
Only Amiga.. Was possible :-)

FAQs / Issues / Solutions (ISLC)

Sponsor

Sponsor
 

User avatar
Parisien_entraide
Posts: 11
Joined: Fri Aug 27, 2021 9:04 am
Location: Paris FRANCE
Contact:

Re: FAQs / Issues / Solutions (ISLC)

Post by Parisien_entraide »

I had reported it in a private message, but I never had an answer ... I m blocked with the images
I can't insert more than 3 images, so... I can't update the FAQ
Only Amiga.. Was possible :-)
User avatar
Wagnard
Site Admin
Posts: 1496
Joined: Sat Jul 04, 2015 5:18 pm
Location: 127.0.0.1
Contact:

Re: FAQs / Issues / Solutions (ISLC)

Post by Wagnard »

Parisien_entraide wrote: Sat Sep 24, 2022 9:57 am I had reported it in a private message, but I never had an answer ... I m blocked with the images
I can't insert more than 3 images, so... I can't update the FAQ
I'll see what I can do about this.
Edit: try again I think I was able to double the value.
User avatar
Parisien_entraide
Posts: 11
Joined: Fri Aug 27, 2021 9:04 am
Location: Paris FRANCE
Contact:

Re: FAQs / Issues / Solutions (ISLC)

Post by Parisien_entraide »

hello :-)

It works partially
I was able to add some new images but I am blocked again

Thanks ! :-)

-----
Maximum file size per attachment: 2 mio. : Actually 219.47 ko (it's small)
But i get 6 pictures
Only Amiga.. Was possible :-)
User avatar
Wagnard
Site Admin
Posts: 1496
Joined: Sat Jul 04, 2015 5:18 pm
Location: 127.0.0.1
Contact:

Re: FAQs / Issues / Solutions (ISLC)

Post by Wagnard »

Parisien_entraide wrote: Wed Oct 19, 2022 4:46 am hello :-)

It works partially
I was able to add some new images but I am blocked again

Thanks ! :-)

-----
Maximum file size per attachment: 2 mio. : Actually 219.47 ko (it's small)
But i get 6 pictures
I have changed from 6 to 12 images.
User avatar
Parisien_entraide
Posts: 11
Joined: Fri Aug 27, 2021 9:04 am
Location: Paris FRANCE
Contact:

Re: FAQs / Issues / Solutions (ISLC)

Post by Parisien_entraide »

Thanks :-)

But the FAQ needs a lot of images and I have already reached the 12 images (Bhouuu..)
Only Amiga.. Was possible :-)
User avatar
Wagnard
Site Admin
Posts: 1496
Joined: Sat Jul 04, 2015 5:18 pm
Location: 127.0.0.1
Contact:

Re: FAQs / Issues / Solutions (ISLC)

Post by Wagnard »

Parisien_entraide wrote: Fri Oct 21, 2022 2:48 am Thanks :-)

But the FAQ needs a lot of images and I have already reached the 12 images (Bhouuu..)
Ok, I have bumped it up to 24.
Post Reply