Wymuszanie użycia jednego rdzenia CPU

Nowoczesny komputer posiada z reguły wielordzeniowy procesor. Na takim sprzęcie wszystkie nowe gry i programy najczęściej działają bezproblemowo, gdyż pod takowy teraz się je tworzy. Czasami jednak zdarzy się, że mamy ochotę zagrać w jakąś starszą produkcję z epoki "jednordzeniowców". Odpalamy taką grę/program i coś jest nie tak. Aplikacja nam wariuje, gra się wiesza, przyspiesza, zwalnia, generalnie rzecz ujmując: nie działa prawidłowo, ponieważ mamy za dużo rdzeni, a jej przeznaczeniem była maszyna jednordzeniowa. Jednym z przykładów na tego typu problemy jest gra Grand Theft Auto: San Andreas, która potrafi się wyłożyć często i gęsto, gdy się ją uruchomi na wielordzeniowym CPU. W takim wypadku doradza się, żeby wejść w "Menadżer zadań" i ustawić PPM ręcznie koligację na jeden rdzeń. Owszem, można i tak, ale zawsze trzeba to zrobić już po uruchomieniu gry/programu, przechodząc na "Menadżer zadań" za pomocą ALT-TAB. Ponadto czynność tę trzeba powtarzać za każdym razem po uruchomieniu aplikacji, gdyż aplet nie pamięta naszych ustawień na dłużej.

A co zrobić, jeśli np. dana gra/program nie chce się uruchomić w ogóle właśnie przez to, że mamy wielordzeniowy procesor, albo jeśli po prostu nam się nie chce w kółko wchodzić do "Menadżera zadań" i ręcznie przestawiać koligację?

Z pomocą przychodzi nam malutki programik Imagecfg. Pobieramy go STĄD i wypakowujemy zawartość, konkretnie plik imagecfg.exe do folderu
C:\Windows\System32

Zakładam, że macie Windowsa na dysku C:\, jeśli nie, to zmieńcie literkę na adekwatną do Waszej konfiguracji.

Zasadniczo programu można użyć z każdej lokacji na dysku, ale ponieważ jest to program obsługiwany z wiersza polecenia, wrzucenie go do powyższej lokacji spowoduje, że wystarczy wpisanie samego polecenia imagecfg wraz z odpowiednimi parametrami, zamiast całej ścieżki dostępu do tegoż programu, a poza tym będzie on cały czas w systemie i w każdej chwili będzie możliwość skorzystania z niego.

Gdy już programik siedzi w odpowiednim folderze, wciskamy na klawiaturze klawisz "Windows" + R i wpisujemy:
cmd

Otwiera się wiersz poleceń. Załóżmy, że chcę zmodyfikować właśnie plik wykonywalny gry GTA San Andreas (modyfikujemy zawsze pliki *.exe, które służą do uruchamiania gry/programu), a więc muszę się zająć plikiem gta_sa.exe. W tym celu wpisuję następujące polecenia potwierdzając klawiszem "ENTER":
imagecfg -u X:\katalog\z\grą\gta_sa.exe

Powyższe polecenie oznacza plik gta_sa.exe jako jednoprocesorowy. Następnie wpisujemy:
imagecfg -a 0x1 X:\katalog\z\grą\gta_sa.exe

A to polecenie powoduje, że plik gta_sa.exe od tej pory zawsze będzie się uruchamiał korzystając z pierwszego rdzenia naszego procesora i tylko z niego.
Zamiast X:\katalog\z\grą\gta_sa.exe wpiszcie oczywiście swoją ścieżkę do gry/programu (a konkretnie do pliku *.exe, uruchamiającego aplikację).
Zamykamy wiersz poleceń.

Dzięki powyższym operacjom nie będzie konieczne każdorazowe, ręczne przestawianie koligacji, co zaoszczędzi czas i nierzadko wcale nerwy.

Program Imagecfg nie ogranicza się tylko do ustawiania koligacji. Jego pozostałe możliwości można poznać wpisując w wierszu poleceń:
imagecfg /?

Peace and love \m/ 

Komentarze (7)

avatar | 18.04.2011 15:16
Uruchamiałem już dużo starych gierek ale nigdy nie miałem potrzeby ustawienia koligacji. Musiałem już DEP wyłączyć, ale z tym się jeszcze nie spotkałem. Może podaj jakieś przykłady gier gdzie trzeba to zrobić?
avatar | 18.04.2011 17:30
@dragonn | 18.04.2011 15:16 :
Ja miałem problem z Puzzle Quest: Chalange of The Warlords, i nie wiedziałem, jak to osiągnąć. Jest jakaś opcja, by zrobić to pod Linuchem?
avatar | 18.04.2011 17:57
Niestety kolego, sprawdziłem na gierce, która mi fiksowała i Twój pomysł nie pomógł - Pozdrawiam.
avatar | 18.04.2011 18:16
@dragonn
W żadnej grze nie trzeba tego robić. To zależy od twojego PC i od tego, czy się jakaś gra na niego "wypnie". Ja musiałem ten zabieg zastosować w GTA San Andreas (czasem się wieszał w losowych momentach, najczęściej podczas ładowania gry), w M$ Flight Simulator 2004 (nieoczekiwane BSODy) i w Unreal Tournament 3 (straszliwe spadki fps, do 15-20 nawet). We wszystkich powyższych przypadkach pomógł ten programik. Ale to nie znaczy, że u Ciebie te gry będą tego wymagały. Trzeba się o tym przekonać na własnej skórze.

@Shaki81
Nie napisałem, że każdą grę można w ten sposób przywrócić do życia. Musi być pewność, że problem sprawia właśnie wielordzeniowość, a nie np. zbyt nowoczesny system operacyjny.
avatar
Anonim (niezalogowany)
| 18.04.2011 23:56
UT3 nie obsługuje wielordzeniowości procesora? Ale jaja...
avatar | 19.04.2011 11:46
Teoretycznie obsługuje, ale u mnie po prostu na dwóch rdzeniach nie działa jak powinien. AMD Dual Core Optimizer nie pomaga. Mam framerate stale na poziomie 20-30 fps, a jak go odpalam na jednym rdzeniu to, mam powyżej 60 fps. Wiem, dziwne, ale cóż zrobić...
avatar
Kotlett (niezalogowany)
| 29.01.2012 15:16
Wolfenstein Enemy Teritory : na niektórych modelach 2-rdzeniowych procesorów gracz zalicza ścinkę co klika sekund, co podczas gry w FPS eliminuje z gry ;) prosty zabieg tym programem rozwiązał mój problem
Dodaj komentarz