Counter-Strike: Global Offensive – Zwiększ wydajność dzięki zarządzaniu priorytetami procesów


BackgroundThreads buforują i opóźniają przetwarzanie wątków ze względu na ich dużą liczbę.
Lub zabija proces, który chcesz zabić, gdy działa PriorityForcer.

Zalecam używanie notepad++ lub podobnych edytorów do konfigurowania pliku config.xml oraz narzędzia do łączenia konfiguracji lub scm do wersjonowania konfiguracji.

WinMerge – [winmerge.org]

Notatnik++ – [notepad-plus-plus.org]

Counter-Strike: Global Offensive - Zwiększ wydajność za pomocą zarządzania priorytetami procesów - Zarządzanie priorytetami procesów Steam - F0D0A79

VSCode – [visualstudio.com]

Jeśli nie istnieje, tworzy plik config.xml w katalogu wykonawczym (katalog programu).

Plik konfiguracyjny ma „ProcessList” i „SettingConfig”. W SettingConfig definiujesz ilość milisekund między każdym uruchomieniem PriorityForcer.

 
  <SettingConfig>
  <pollTimeInMilliseconds>300000</pollTimeInMilliseconds>
 

Możesz także wyłączyć rejestrowanie lub po prostu włączyć rejestrowanie wyjątków

 
 <DisableLogging>false</DisableLogging>
 <OnlyExceptionLogging>false</OnlyExceptionLogging>
 

W ProcessList znajduje się każdy (z uprawnieniami użytkownika PriorityForcer dostępny) znaleziony proces. Jeśli zmienisz wartość „wyzwalacza” false PriorityForcer sprawdza każde uruchomienie tej usługi i sprawdza, czy ProcessPriorityClass odpowiada żądanej wartości.

możliwe wartości dla ProcessPriorityClass są tutaj: ProcessPriorityClass – [microsoft.com]

 ProcessPriorityClass:
 AboveNormal
 BelowNormal
 High
 Idle
 Normal
 RealTime
 

Jeśli ustawisz IgnoreForcingThreadPriority na false

 <IgnoreForcingThreadPriority>false</IgnoreForcingThreadPriority> 
 

niż wątek w tle szuka każdego wątku procesów z false i jeśli ThreadPriorityLevel różni się od tego w twojej konfiguracji, wymusza żądany poziom ThreadPriorityLevel.

Jeśli ustawisz w

 
  1. from <KillProcess>false</KillProcess> and <Ignore>false</Ignore> 
  2. to <KillProcess>true</KillProcess> and <Ignore>true</Ignore> 
 

niż PriorityForcer próbuje zabić ten proces (i każdy proces podrzędny)

możliwe wartości dla ThreadPriorityLevel są tutaj:

Poziom priorytetu wątku – [microsoft.com]

 ThreadPriorityLevel:
 AboveNormal
 BelowNormal
 Highest
 Idle
 Lowest
 Normal
 TimeCritical
 

W części konfiguracyjnej poniżej mamy dwa wpisy Process.

Wpis First ProcessConfig należy do Taskmgr i ponieważ

 <Ignore>true</Ignore>
  <IgnoreForcingThreadPriority>true</IgnoreForcingThreadPriority>
 

Taskmgr jest ignorowany przez PriorityForcer.

Drugi wpis ProcessConfig należy do usługi steam.

 
  <ProcessPriorityClass>BelowNormal</ProcessPriorityClass>
 

I

 
 <ThreadPriorityLevel>Lowest</ThreadPriorityLevel>
 

zostanie wymuszony, jeśli znaleziony proces i priorytety processthread różnią się od wpisu config.xml.

 
 <ProcessList>
  <ProcessConfig>
  <Name>Taskmgr</Name>
  <ProcessPriorityClass>Normal</ProcessPriorityClass>
  <Ignore>true</Ignore>
  <IgnoreForcingThreadPriority>true</IgnoreForcingThreadPriority> <ThreadPriorityLevel>Normal</ThreadPriorityLevel>
  <KillProcess>false</KillProcess>
  </ProcessConfig>
  <ProcessConfig>
  <Name>steamservice</Name>
  <ProcessPriorityClass>BelowNormal</ProcessPriorityClass>
  <Ignore>false</Ignore>
  <IgnoreForcingThreadPriority>false</IgnoreForcingThreadPriority>
  <ThreadPriorityLevel>Lowest</ThreadPriorityLevel>
  <KillProcess>false</KillProcess>
  </ProcessConfig>
 

Logowanie błędów i debugowanie

1. w katalogu programów „C:\Program Files\Michi\PriorityForcer\18.02.2022log.txt”

2. Ponieważ ConsoleAPP PriorityForcer wyświetla każdy krok, który wykonuje w konsoli. Możesz wyłączyć tę funkcję w części SettingsConfig pliku config.xml



Źródło : https://steamlists.com/counter-strike-global-offensive-boost-performance-using-process-priority-management/