Dlaczego moje gry się zacinają? — diagnostyka. Ustawianie pliku wymiany. ReadyBoost. Testy trybu gry i kompresji pamięci w Windows 10 — porady

Pamięć wirtualna - jak prawidłowo ustawiać plik wymiany w systemie Windows dla wymagających gier


Konfiguracje z dużą i małą ilością RAM. Naprawa problemów znikających obiektów w grach ze strumieniowaniem tekstur. Naprawa mikrozacięć, i uciążliwej pracy HDD w czasie gry.

Powróćmy na moment do dawnych czasów. Lata temu bywały problemy w Battlefield 1942 z przycinaniem i wychodzeniem gry z komunikatem o rozszerzaniu pliku strony gdy grze brakowało pamięci RAM. Żeby się go pozbyć, trzeba było przydzielić na sztywno duży rozmiar pliku strony dla różnych partycji, i problem w zasadzie znikał. Komunikat w naszym Windows XP już się więcej nie pojawiał, a gra mniej przycinała.

Błąd w ustawieniach, który konsekwentnie powielałem przez lata, polegał na założeniu, że jeśli dana gra jest np. na dysku D:, to stronicowanie na tym dysku też powinno być włączone, bo inaczej będą problemy z wydajnością. Otóż nic bardziej mylnego.

Poniżej, w oparciu o wnikliwe testy - staram się przybliżyć jak najlepiej ustawiać plik stronicowania. Może nie pisałem tego artykułu jak dla jakiegoś Technetu, ale powinno się dać wszystko zrozumieć.

Domyślnie w systemie stronicowanie ustawia się na włączone tylko na dysku C:, dokładniej na "kontrolowane przez system", a reszta na ustawienie "brak" (w zasadzie jest to osobne zaznaczenie na "automatyczne" u góry, i dyski się wyszarzają na dole z ustawionym samym C:). I tak też zazwyczaj jest wszystko ustawione na każdym systemie. Pagefile.sys jest obecne wtedy tylko na C. Co prawda w niektórych wersjach systemu bywały wyjątki, i partycja pomimo formatowania, potrafiła zachowywać swoje poprzednie ustawienia stronicowania, jeśli coś tam ręcznie wcześniej zmienialiśmy. Czasami pomagał nawet dopiero low level format. Dotyczyło to też trwałych błędów z ustawieniem kodowania znaków w Windows.

Zatem przetestowałem na poważnie przeróżne możliwe ustawienia. Duży rozmiar stronicowania na sztywno jedna partycja, w innym scenariuszu na wszystkie partycje, czasem na kontrolowane przez system, czasem mieszane. 

Pacjentem był sprzęt z małą ilością RAMu, i dwie gry na granicy niespełniania minimalnych wymagań sprzętowych w tym zakresie. Czyli gdzie min. stanowiło 6GB RAM, gdzie wymagania nie były spełnione, i w drugim tytule - min. 4GB RAM.W myśl, jakby to ująć... ciężkich czasów, i drogiej pamięci postawiłem na drugi wariant testowy.

Żeby zbędnie nie przynudzać, przejdziemy od razu do sekcji:

Wnioski po testach

Jeśli posiadamy jeden dysk w PC, to stronicowanie powinno być włączone z sztywno przydzielonym dużym rozmiarem na samym C, przynajmniej kiedy to gra jest na D. Reszta partycji gdy posiada włączony plik strony, spowalnia wydajność, chyba że jedna z partycji to osobny dysk, ale w tym wypadku, włączony plik stronicowania zostawiamy tylko na osobnym dysku (tam gdzie nie ma ani gry, ani systemu).

Nie powinno się włączać pliku strony dla wszystkich partycji jednocześnie. To bardzo źle wpływa na tytuły z dużym zapotrzebowaniem na pamięć.

Przy jednym dysku - kiedy gra jest na D, to plik strony ma być na C. Nie razem.

W innym wypadku gry potrafią sporo gorzej chodzić. Sytuacja co prawda poprawia się lekko po włączeniu partycji innego dysku do całej kolekcji, czyli kiedy wszystkie partycje były włączone razem - na kontrolowane przez system. Ale to i tak nadal słabsze rozwiązanie niż na samym C, lub przy ustawieniu na innym dysku. Przy włączeniu wszystkich partycji, w najlepszym scenariuszu, na kontrolowane przez system - przycięcia gry stawały się częstsze, wydajność niższa, za to gra bywała czasem bardziej stabilna, i rzadziej można było zauważyć problemy ze strumieniowaniem tekstur - ich niedoczytywaniem. Lecz przy moim ustawieniu idealnym, i nawet to jest wtedy rzadkie. Za to niewykluczone, że nawet poprawiły się trochę czasy wczytywań przy stronicowaniu na wszystkie partycje.

Gdy posiadamy dwa fizyczne dyski

W sytuacji gdy mamy dwa dyski w PC, to najstabilniej bez przycięć gry działają, jeśli przydzielimy dużą wartość na sztywno, na tylko partycję niesystemowego, drugiego dysku na którym nie ma gry (pierwsza partycja dysku będzie najszybsza, dwóch nie sprawdzałem, i z doświadczenia nie polecam). Resztę partycji należy ustawić na wyłączone, włącznie z C.

Ustawienie pliku wymiany na wysoki, sztywno przydzielony rozmiar potrafi może lekko obniżyć subiektywnie płynność, ale gdy kończy się RAM, gra zachowuje się zauważalnie bardziej stabilnie. 

Przy małej ilości pamięci, takie ustawienie jest obowiązkowe. Ale przy większych, lub optymalnych ilościach, gdzie RAM nie jest wąskim gardłem, ciekawe rezultaty dla zwiększenia płynności, daje za to ustawienie małej ilości wartości minimalnej dla pliku wymiany, nawet zamiast ustawienia "kontrolowane przez system". Trick stosowany np. w GTA V. Jednak w innym wypadku, nie ma co eksperymentować.

Ustawienia dla 4 i 8GB RAM

Należy od razu ustawić wysoką wartość minimalną pliku strony. Taką, która będzie niewielką nadwyżką wartości która zostanie w trakcie testów przydzielona po dłuższym czasie grania w wymagający z perspektywy pamięci tytuł.Jak mamy jeden dysk, plik wymiany powinien być ustawiony tylko na C, z dużym rozmiarem (dla 4GB RAM - ~ 6200MB-7200MB min.).

Należy przy tym pamiętać, że nie ma potrzeby ustawiania wartości minimalnej na zapas. Istnieje wtedy większe prawdopodobieństwo fragmentacji pliku wymiany.

Przy dwóch dyskach, powinniśmy ustawić plik wymiany, tylko na pierwszą partycję osobnego dysku. Pliki na początku dysku mają szybszy czas dostępu. Reszta partycji ma być ustawiona na wyłączone.

Warto tu przytoczyć ciekawostkę, że jeśli nie posiadamy w zwyczaju mieć gier na różnym dysku niż systemowy by mieć stronicowanie na D, albo z instalacją gier na partycjach bywa różnie, warto rozważyć utworzenie osobnej partycji na plik wymiany - wzorem tego jak robi się to na Linuxie. I tutaj orientacyjnie wybrałbym na to sam początek dysku.Potem takiej partycji można przypisać literę końcową w zarządzaniu komputerem. System nadal będzie się poprawnie bootował (mimo że początkowo była to litera C: - pamiętajmy że posiadamy jeszcze wcześniej nieprzypisaną literę małej partycji kontrolowanej przez system). Oczywiście czas dostępu uzależniony od położenia na dysku to problem HDD.

Gdy już ustawimy wszystkie wartości stronicowania jak należy w panelu:Mój komputer->PPM>Właściwości->Zaawansowane ustawienia systemu->Zaawansowane->Ustawienia->Zaawansowane->Zmień

...to klikamy na guzik "ustaw", po czym wartość wskakuje do tabeli, a my potwierdzamy zmiany przez naciśnięcie OK. W niektórych przypadkach wymagane będzie ponowne uruchomienie komputera. A dokładniej, tylko w momencie zmiany z ustawienia kontrolowane przez system, na ustawienie ręczne, lub przy próbie zmniejszenia wartości, lub wyłączenia stronicowania na danym dysku. Jednym słowem, możemy tylko dodawać nowe miejsce dla pliku stronicowania, i włączać nowe dyski aby efekt zaszedł bez restartu. 

Aktualny rozmiar używanego pliku strony można sprawdzić po sprawdzeniu pliku pagefile.sys (systemowy, ukryty). Można też sprawdzić w ten sposób jego obecność na różnych partycjach, a użycie - w trakcie próby jego usunięcia. Rozmiar używanego pliku strony można też uzyskać po wejściu do Menadżera Zadań->Wydajność->Pamięć-> i tam od wartości "zadeklarowana", odjąć tę "w użyciu". Ta wartość wskaże jaka w tej chwili jest używana ilość przydzielonej pamięci wirtualnej. W ustawieniu kontrolowanym przez system, będzie to realna używana ilość w danej chwili - ponieważ coraz większy rozmiar jest przydzielany dynamicznie, a plik sam w sobie się rozrasta.

Przy zapasie RAMu (8/16GB) jedno z ciekawszych ustawień, to 400 MB na minimum, i maksimum - 16000. Gra potrafi chodzić szybciej, mikrozacięcia są rzadsze, za to gdy RAMu w systemie jest za mało, bardzo szybko siada strumieniowanie tekstur (w zależności od gry, a nawet jej wersji) zwłaszcza na wolnych dyskach, i wszystko może być gorzej jak było wcześniej. Warto przetestować jakie ustawienie jest najlepsze dla naszej najbardziej zasobożernej na RAM gry, i dla naszej platformy.

Gdy posiadamy dysk SSD, ja bym od razu ustawił stronicowanie tylko na ten dysk. Choć od dawna twierdzi się, iż cykle odczytu i zapisu takie ustawienie dość mocno drenuje, i jest odradzane. Jednak to właśnie w oparciu o dyski SSD działają różne rozwiązania oparte o tzw. cache dla operacji systemowych (np. Intel Optane, SanDisk ReadyCache [tylko W7], ExpressCache), i postawiłbym na to.

ReadyBoost

Oczywiście wspomnę jeszcze o technologii systemy Windows - ReadyBoost (pendrive jako cache), która zauważyłem, iż w wydatny sposób zapobiega zacięciom animacji w trakcie intensywniejszego użycia dysku w trakcie rozgrywki na konfiguracjach z małą ilością RAM, a i nawet nie tylko.Z tym że, zabawną sytuacją która może zacząć się dziać po włączeniu Ready Boost, jest zwariowana praca HDD przez nawet 10 min po rozruchu komputera, w obrębie procesów "system" (ntoskrn) i "wstępne ładowanie do pamięci". Wygląda na to, że system cachuje dane na pendrive, widać to po monitorze wydajności. Wtedy jeśli sobie nie poczekamy na skończenie, tylko zaczniemy w ten sposób grę, przy wolnym dysku i małej ilości RAM, gra staje się wyjątkowo uciążliwa. Bo usługa na ten czas nie używa przykładowo 37% HDD jak jest w liście procesów, ale dopiero z zakładki ogólnego użycia dowiadujemy się... że użycie równa się 100%. Tak proszę państwa, o to w jaki sposób MS zapobiegał swego czasu panice użytkowników, i wysypowi nowych tematów na forach że W10 spowalnia komputery itd. Bez komentarza. Z tym że coś podobnego zauważyłem też na W7, więc przypadek nie jest absolutnie odosobniony.

Jak dodatkowo zwiększyć wydajność ReadyBoost?

Pendrive ma być sformatowany jako exFAT, i rozmiar alokacji na 1024KB. To pozwala nam nawet na skrócenie czasu rozruchu systemu.Opcjaonalnie można sprawdzać jeszcze FAT32, i kilka pendrivów w trybie RAID, ale takie połączenie nie jest już możliwe, przynajmniej od czasów W10. Tak samo trick z umieszczeniem pliku VHD nie chce już zadziałać. Niemniej przy użyciu 6 pendrivów, jest na prawdę intratny uzysk w transferze, którego na prawdę nie warto nie odnotować.

Kompresja pamięci operacyjnej w Windows 10

Wspomnę też tutaj o wprowadzonej od czasu aktualizacji Windowsa 8, funkcji kompresji pamięci RAM, która może zawsze pomóc zaoszczędzić i kilkaset megabajtów. Kiedyś funkcja też była urwaniem głowy dla różnych uzyszkodników Windowsa, bo osobny proces usługi miał trzymać dużo pamięci w menadżerze zadań. W istocie, tą która służyła za bufor, ale nie na zasadzie zwykłych usług i procesów (czyli właściwie nie do końca używana w klasyczny sposób) a potem zwalniana jak ktoś zdecydował się proces skutecznie uśmiercić, w zasadzie tylko w formie zniknięcia wpisu.

MS po trochę nerwowych reakcjach użytkowników wprowadził aktualizację usługi kompresji pamięci, i już nie widzimy w podglądzie odpowiedzialnego procesu.

Samą usługę również ulepszono, i zarządzanie pamięcią przebiega sprawniej. Ale czy na pewno?

Jak wiadomo, kompresja pamięci potrzebuje cyklów procesora. Nie jest wykonywana bez żadnych obliczeń.Jaki jest w takim razie wpływ kompresji na system z 4GB RAM i wolnym dyskiem (w tym wypadku niedużo powyżej ATA w małych plikach)?

Jak sprawdzić aktualny stan kompresji pamięci?

Otwieramy menu start, i wyszukujemy "powershell" i uruchamiamy go prawym przyciskiem myszy jako administrator.Potem wpisujemy:

Get-MMAgent

Zapewne na W8/10 zobaczycie:

MemoryCompression : True

Zatem wpisujemy:

Disable-MMAgent -mc

Po czym resetujemy komputer. Dla włączenia usługi z powrotem odpowiada komenda:

Enable-MMAgent -mc

Działając ze skutkiem natychmiastowym (tak jak przydzielanie kolejnej partycji stronicowania, albo przydzielanie dodatkowego miejsca dla niego) nie wymagając resetu.

Need For Speed 2015

Czasy ładowania zdają się być dłuższe, wolnego RAMu zostaje trochę mniej, choć w samym systemie tego nie widać, najwięcej używanego RAMu przybywa w trakcie ładowania gry. Pojechałem do wymagającego miejsca i przeprowadzam wyścig w mieście, gdzie były do tej pory najwyższe spadki płynności animacji, i gra robiła się nieprzyjemna. W obecnej chwili - jest już właściwie znośnie. Płynność w moim miejscu testowym została podwyższona.

Przypomnę też, że mamy tu do czynienia ze starym czterordzeniowym CPU. Warto też zaznaczyć, że wspomniana usługa kompresji pamięci, potrafi nadal pojawiać się w monitorze zasobów. Ponieważ zauważyłem w tym wypadku zmianę w wydajności po jej wyłączeniu w Powershell, pozostaje zakładać że jest to jedna z części składowych usługi Prefetch - której wyłączenie dopiero ma powodować całkowite zniknięcie procesu Memory Compression z monitora zasobów, a której wyłączenie może powodować obniżenie wydajności systemu. Z tego powodu odpuściłem sobie testowanie wyłączenia Prefetch. Początkowo miałem obawy że komenda nie zmieni niczego na lepsze w kwestii wydajności, a jednak stało się inaczej. Za każdą rozstrzygającą próbą na korzyść, lub niekorzyść, komputer był resetowany, dlatego każdy z wariantów miał równe szanse by się wykazać. Trochę mi zajęło zanim wyszło co jest do czego, i jaki jest ostateczny wynik. Są to testy dosyć czasochłonne.

Za to trochę niżej w tekście, umieszczam wrażenia z testów w innym pewnym znanym tytule z dużym apetytem na RAM... szala przechyla się w trochę inną stronę.

Ale między czasie, że człowiekowi zawsze mało, podrążyłem jeszcze kilka innych kwestii.

Jaki wpływ na grę ma najnowszy jesienny update Windowsa w stosunku do kompilacji jeszcze sprzed Anniversary Update (14393)?

Raczej pozytywny (z uwzględnieniem trybu gry). Nie wiem jak było z wydajnością w czasach Anniversary Update, zwłaszcza że od czasów jesiennej aktualizacji zgłaszano spadki płynności animacji np. w BF1, z tego co pamiętam na Nvidii, ale i te miano przynajmniej w niektórych przypadkach wyeliminować. http://forum.pclab.p...-a-niegrywalne/ Warto odwiedzić.

Wpływ trybu gry w Windows 10 na rozgrywkę

W obu tytułach jest pozytywny. Uważam że różnica jest większa jak po przesiadce na nową kompilację systemu. Przypomnę że w platformie testowej mamy do czynienia z mega starym configiem, który na każdą zmianę w systemie reaguje jak kobieta w trakcie okresu, także wszelkie różnice dokonywane w systemie, łatwiej zauważyć. Znam oczywiście wyniki z różnych portali, jakie w testach uzyskał tryb gry na normalnych maszynach. Różnice były prawie żadne, a w pierwszych testach tej funkcji dla Insiderów, odnotowywane były nawet spadki. Obecnie w przypadku NFSa, gdzie jeszcze pamięć nie była tak na wyczerpaniu, było lepiej. Też nie jest tak, że tryb gry, nic nie robi, bo niektórzy ludzie donoszą, że od niego np. YouTube tnie, także widać że coś się dzieje po stronie priorytetyzacji usług i aplikacji. Po prostu granie z włączonym trybem, i okazyjne przeglądanie sieci z paska może być po prostu niekomfortowe. Z tym że tryb gry nie powinien działać cały czas, w więc po wyłączeniu rozgrywki.

Zauważyłem też, że w trybie gry, wygodniejsza staje się rozgrywka z małymi ilościami FPS - np. 20. Tutaj na przykładzie Mafii III. Nigdy nie sądziłem że gra w ten sposób, pomimo lekkiego ogólnego spowolnienia - może stać się grywalna. Za to w momentach wjazdu do momentów od 25 FPS wzwyż, gra jest mniej płynna niż z wyłączonym trybem gry. Coś za coś. Ale opieram to nadal o przypadek Mafii na wysokich detalach ze sporadycznymi spadkami. 

Jak włączyć tryb gry

W trakcie rozgrywki aktywujemy go klawiszem Win+G klikając na odpowiednią opcje.Jeśli zaistnieje konieczność, panel można włączyć w ustawieniach systemu (PPM na menu start-ustawienia...->strona główna->granie. I tam czasami włączenie i wyłączenie różnych opcji w pierwszych dwóch zakładkach daje efekt.Czasami też trzeba odpalić grę w trybie okienkowym (prawy alt+enter) i dopiero panel się pokazuje (w sytuacji jak przez moment obraz robi się jaśniejszy po naciśnięciu Win+G).Uczulam też na włączoną usługę Windows DVR, bo sama, jak się jej w opcjach odpowiednio nie wyłączy, potrafi zeżreć powyżej 100MB RAMu, a jej działanie w tle ma potwierdzony udział w znikaniu tekstur w trakcie gry (jeśli ktoś napotkał na ten problem). Ale na ogół wyłączone DVR pozostawia usługę w stanie czuwania i ogranicza proces do ok. 3MB.Raz włączony tryb gry dla danego tytułu, pomimo pozamykania wcześniej rożnych aplikacji, a także braku pokazywania się paska gry, jest już włączony.

Optymalizacja systemu

Na 4GB RAM warto też użyć Razer Game Booster żeby nie musieć też samemu za każdym razem zamykać 40 aplikacji i usług, bo aplikacja zrobi to za nas za jednym zamachem, zwalniając w granicach 600-700MB (nie licząc przeglądarek), co na tej wielkości pamięci jest całkiem rentownym zabiegiem.Sam program może nie wprowadza od siebie specjalnych zmian w wydajności, to też dla malkontentów - po jednorazowo wprowadzonych zmianach przez program, mogę polecić wyłączenie jego wszystkich usług aby zwolnić dodatkową pamięć.Warto też zajrzeć wcześniej do ustawień, aby ręcznie wybrać jakie usługi i procesy mają być zamykane. Gra też posiada opcję defragmentacji plików gry, a do samej defragmentacji pliku stronicowania polecam program Defraggler i jego opcję "boot time defrag" gdy plik wymiany posiadamy na dysku C. Inaczej chyba nie zostaje nic innego jak uruchomić defragmentację z poziomu osobnego środowiska rozruchowego jak np. Hirens Boot Mini XP, lub WinPE Sergei Strelec 10, choć i tu nie zawsze musi udać się uzyskać przez dany program defragmentujący dostęp do tego konkretnego pliku wymiany celem defragmentacji. Może wystąpić błąd odmowy dostępu (związany z programem, nie uprawnieniami pliku).

Naprawa przypadków 100% użycia dysku w tle przez system

Oczywiście system Windows 10 jest pełen niespodzianek, i nie tylko z powodu ReadyBoost może nas spotkać nagły atak padaczkiintensywnego użycia dysku, jak wcześniej przez usługę "system". Może dziać się to z powodu rozmaitych usług i procesów w tle, które włączają się nie tylko wtedy, gdy nie robimy nic na komputerze, ale i niestety w czasie grania. O to ich lista, i jak je wyłączać:

netsvcs

microsoft compatibility telemetry (compattelrunner.exe)

Windows problem reporting

Windows UpdateSrTasks

I usługi związane z ReadyBoost (polecam wcześniej sprawdzić w monitorze wydajności czy usługa właśnie nie zapisuje na Wasz pendrive):

localservicenonetwork

local system memory restricted

local system network restricted

Niektóre z nich przypinają się do svchost, i nijak idzie je wyłączyć w menadżerze zadań. Trzeba odpalić monitor zasobów w zakładce wydajność. Potem idziemy do zakładki dysk, i sortujemy wg. użycia razem. Następnie po prostu PPM zakańczamy proces. Czasami trzeba powtórzyć zabieg, być może nawet uruchomić monitor zasobów jeszcze raz, ale w większości przypadków, to wystarcza aby uwolnić nas od uciążliwego użycia dysku. Jak już nic nie nęka naszego twardziela (tudzież półprzewodnikowego rumaka) możemy odpalać niczym niezmąconą, stabilną, naszą szybką grę bez zacięć. O ile doczytasz artykuł do końca...

Higiena korzystania z pamięci komputera

Ponieważ hola, hola. Kiedy ostatni raz resetowałeś komputer?Czy w ogóle używasz czegoś takiego jak reset, i standby, czy tylko wrzucasz komputer w stan wstrzymania, bo tak Ci jest wygodniej?

Otóż, to też ma wpływ na szybkość działania aplikacji 3D z dużym zapotrzebowaniem na pamięć. Dotyczy to nawet jeśli wcześniej grałeś w inny tytuł, albo wznawiałeś komputer ze stanu wstrzymania, gdy już wcześniej grałeś. (stan wstrzymania ma zły wpływ na efektywność wykorzystania pamięci, głównie po odcięciu prądu, kiedy w trakcie rozruchu następuje wznowienie z hibernacji [pliku hiberfil], zamiast z pamięci RAM).

Grand Theft Auto V

Żeby nie było aż tak wesoło, że potem wszyscy żyli długo i szczęśliwie - to uruchomiłem też do testów GTA V. I tutaj przysłowiowe żarty się skończyły. (użyta została oryginalna wersja 1.0.1290.1. W porównaniu do update 5, kosztem ilości klatek i użycia CPU, poprawiło się zarządzanie pamięcią, i rzadziej znikają tekstury: http://forum.pclab.p...i-update-5-FIX/ 

Tryb gry z wyłączoną kompresją pamięci w Windows 10 zachwiał odczuwaną płynnością animacji pomimo braku wpływu na ilość klatek. Jeździłem po mieście na trybie okienkowym, i włączałem, a potem wyłączałem tryb gry w trakcie szybkiego przejazdu w wymagającym miejscu mapy. Jest gorzej.Jeślibym szukał winowajcy takiego stanu rzeczy, to tego że Windows jest jeszcze za głupi na to by zauważyć że GTA V ma więcej jak jeden proces który w istotny sposób może mieć wpływ na płynność animacji. Skoro YT potrafi ciąć gdy tryb gry jest włączony, niewykluczone że np. też launcher jest skutecznie dobijany, a gra może tego nie lubić. Co prawda po co najmniej jesiennej aktualizacji procesy odpalane przez jeden konkretny są w ładnej liście rozwijalnej, to sam tryb gry też mógłby widzieć które procesy są odpowiedzialne za grę. Także drążyłem problem dalej.

Bo kolejną bolączką która wróciła w GTA V po aktualizacji systemu i wyłączeniu kompresji RAM są pojawiające się ścinki i niedoczytywania tekstur. Poprzednio pojawiały się przy błędnie ustawionym pliku stronicowania.Wcześniej na innej trasie testowej gdy plik strony był ustawiony dobrze, można było napotkać góra ze trzy ścinki, i wszystko chodziło na prawdę jak w dobrze naoliwionej maszynie.Teraz na Fall Update i włączonej kompresji, płynność lekko spadła w mniej wymagających miejscach, zdarzają się częste doczytywania z dysku podczas których gra lubi chrupnąć, za to w wymagających miejscach (miasto, dużo samochodów) jest lepiej, o ile właśnie w tym momencie nie doczytuje się Wam gra z dysku, wieszając wszystko na pół sekundy w kilku odstępach czasowych.

Zatem wracamy do punktu wyjścia. Włączam z powrotem kompresję, a stronicowanie zostaje po staremu, na drugim dysku. I gra śmiga pięknie i bez ścin. Versus 14393, raczej rzadsze spadki w wymagających miejscach, za to ogólna płynność, zwłaszcza gdzie wcześniej było najwięcej klatek zdaje się być troszkę słabsza. Sam Windows po aktualizacji wżera teraz na sam system ok. 300 MB więcej, (vs. W7 x64 różnica kolejnych 300MB) i jak ktoś nie ubije też zbędnych aplikacji w tle, to uzbiera się niemal gigabajt RAMu. Tyle że nic nie tnie z włączoną kompresją.

I tu zaczyna robić się podchwytliwie. Wróciłem z powrotem do testowania trybu gry z włączoną kompresją pamięci, i dzieje się dokładnie coś odwrotnego co przedtem. Gra mimo tego samego FPSu, robi się płynniejsza.Bardziej na wzór tego co widziałem przed aktualizacją, a na dodatek tryb gry "wygładza" FPSy również w tych bardziej wymagają miejscach, przez co gra całościowo powinna zachowywać się lepiej. 

Co się jeszcze tyczy GTA V, dysponowałem ostatnio jeszcze w ramach testów, kompletnie przedpotopową jednostką z 3GB RAM, z grafiką o wydajności którą zawstydzają współczesne integry Intelowskie od czasów Haswella. I ku mojemu głębokiemu zaskoczeniu, najnowsza kompilacja W10 (ustawienia domyślne), na sprzęcie który ledwie dźwigał GTA V na najniższych, chodziła zauważalnie gorzej niż na W7 (oba systemy postawione na czysto). I tutaj widać było definitywnie problem wąskiego gardła pamięci, i to jak do podobnych configów nadaje się 10. Jednym słowem, że niestety nie nadaje się. Ścinki były po prostu zbyt nieprzyjemne.

Meltodwn, i Spectre 

Wszystkie testy umyślnie wykonywałem bez tych łatek. Nawet WU nie pobiera domyślnie żadnej łaty, ale zrobiłem to ręcznie. Na warsztat po raz kolejny poszła Mafia 3. I tak jak często można spotkać się z twierdzeniami, że gra komuś potrafiła przyśpieszyć, to z powodu pojawienia się narzutu I/O, uzasadnionym by było twierdzić, że takie kombinacje jak, nieustanne mielenie pliku strony, i doczytywanie z dysku, to coś co łata wyeksponuje z należytą starannością. I na dobrą sprawę, poza dziwnymi chwilowymi wzrostami płynności, nie odnotowuję nic pozytywnego. Sam rozruch systemu dłuższy o 6 sekund. Raczej częstsze doczytywania w trakcie gry, większe spadki, i utrzymujący się FPS na na tyle niskim poziomie w takich miejscach jak np. tłum na imprezie po napadzie, że gra jest po prostu uciążliwa. Wcześniej nie było aż tak źle by gra na wysokich detalach była niemożliwa.

Google Chrome na 4GB RAM

Generalnie do pracy na bardzo wielu zakładkach z dodatkami, w Chrome, 4GB do komfortowej pracy to mało. Są czasami takie prace, gdy otwiera się dwa okna, bo nie mieścisz się z podglądem zakładek, zwłaszcza w tych mniej panoramicznych monitorach, a wtedy system zdycha. Bez dodaktu Great Suspender, nie da się pracować przy intensywniejszych researchach. Zaraz dysk zaczyna obławiać stronicowanie przy byle jakim otwarciu nowej karty, i pojawiają się zawieszki.

Taktowania CPU

Tak poza pamięcią, jeśli już jesteśmy w temacie mówiącym o tym, dlaczego gry się zacinają, warto też wspomnieć o dynamicznie zmieniających się taktowaniach w czasie gry. Wszystko z powodu technologii oszczędzania energii. Z powodzeniem można je wyłączyć w biosie, a przy tym potencjalne ścinki powodowane skokami taktowania mogą zniknąć. Mówimy tutaj o technologiach AMD Cool and Quiet, Intel EIST, C1E, C.I.A. (wyłączone w BIOSie można włączać z powrotem w programie ThrottleStop) czy też w starszych CPU na zablokowanych procesorach można spróbować zwiększyć mnożnik do najwyższej wartości Turbo dla wszystkich rdzeni na odpowiedniej płycie (opcje Turbo off, Clock modulation, Multiplier też wspierane są przez ThrottleStop). No i że już o ogólnopojętym OC CPU i GPU w tym miejscu nie wspomnę.

PS. Niektóre gry, takie jak np. Watch Dogs 2 zdecydowanie bardziej lubią jak się je instaluje na SSD. Gra zachowuje częściej zachowuje się stabilnie. 

Warto zaglądać też na stronę interesującego nas tytułu w encyklopedii PCGamingWiki, gdzie publikowanych jest wiele rozwiązań na problemy związane z wydajnością, trapiące dany tytuł. Czasami jest to solucja na włączenie bezramkowego trybu pełnoekranowego, lub sposób na jego włączenie w starszym tytule (np. Special K injector) a czasem jakiś config, paczka z modyfikacją, lub inne użyteczne metody na polepszenie wydajności w naszej grze.

Podsumowanie

Na tym bym zakończył dalsze testy, dla gier zostawiając plik strony ustawiony na sztywno z dużą wartością minimalną (6GB-7GB+ dla 4GB), i włączony tylko na drugim dysku HDD (lub zapewne tylko na SSD) a przy posiadaniu jednego dysku, tylko na samym C: (zwłaszcza w wypadku posiadania gry na D). Do tego domyślnie kompresja powinna być włączona, chyba że brakuje nam mocy CPU, a gra nie zabiera tyle pamięci operacyjnej, co GTA V na bardzo wysokich detalach (dla kontrastu, tutaj testowany był wspomniany NFS na najniższych detalach). Do tego włączony tryb gry, a na 4GB RAM, również odpowiednio skonfigurowany Razer Game Booster.

Na ogół dynamiczny rozrost pliku stronicowania jest szkodliwy dla stabilności aplikacji, i warto się upewnić, że cała potrzebna pamięć pliku stronicowania została już przydzielona.

Dzielcie się swoimi spostrzeżeniami dot. ustawień pamięci w Windowsie.Istotnym uzupełnieniem artykułu będą wypowiedzi użytkowników dot. stronicowania większych ilości pamięci, zwłaszcza 16 i więcej gigabajtów RAM, a także 8GB, w różnych tytułach.W zastosowaniach Pro, w dużej mierze efektywność prezentowanych ustawień powinna również znaleźć swoje odzwierciedlenie. Mafia III korzysta z dużych pokładów pamięci, jeszcze większe problemy pod tym względem sprawia GTA V z modem Redux i paczką samochodów. Użycie pamięci może więc wręcz przewyższyć używaną pamięć w niektórych zastosowaniach poza-growych. Najgorzej jest np. w tytule Forza Horizon 3, która w wersji demo na 4GB jest niegrywalna. Ludzie generalnie lubią w tej grze używać 16GB RAM, pozbywając się pewnych problemów z płynnością. Jak coś fajnego poza odpalaniem wielu zakładek na raz, albo używaniem wielu maszyn wirtualnych, czy pakowaniem archiwa z dużym słownikiem i mierzeniem wydajności/szybkości/czasów, znajdzie się do testów, to piszcie śmiało.

Aktualizacja

Poszerzyłem testy o dysk SSD, i oto wyniki wnikliwych testów.

Pacjentem jest w tym wypadku NFS 2016, nadal w konfiguracji z wolnym CPU i 4GB RAM w dual channelu, z tendencjami do mielenia dyskiem w trakcie dłuższych i szybszych przejażdzek po mieście.

Wcześniej ustaliłem, że przypadku posiadania kilku dysków HDD (wtedy jeszcze bez SSD), należy ustawiać dla 4GB RAM plik stronicowania na dużą wartość początkową (przykładowo 6GB) na dysku na którym nie jest zainstalowana gra. Najlepiej fizycznym, osobnym dysku.

Teraz przeprowadziłem testy, co dzieje się po instalacji jako dysk systemowy - SSD.

W pierwszym wariancie gra jest na HDD, a stronicowanie na SSD.

Wedle moich wcześniejszych testów wydajnościowych w tej grze, kompresja pamięci będzie ustawiona na wyłączoną w PowerShell, gdyż gra zachowywała się najlepiej

(po pierwszym odpaleniu Get-MMAgent na SSD, okazało się że i reszta parametrów, nie tylko memory compression, ma ustawione false, i włączenie jej przez Enable-MMAgent -mc powoduje też zmianę reszty parametrów na true, a użycie Disable-MMAgent -mc z powrotem, wyłącza tylko kompresję, resztę parametrów pozostawiając na true. Na takiej konfiguracji przebiegał test.)

W tym wariancie gra chodzi bardzo dobrze. Niemniej jedynym rozwiązaniem na całkowite pozbycie się okazjonalnego zapadania pod ziemię w trakcie jazdy, w tej grze, jest umieszczenie również samej gry na SSD, nie tylko stronicowania. Co również zrobiłem.

Otóż w wariancie drugim, umieściłem grę na SSD i tam też umieściłem stronicowanie, na jednej partycji.

Co mnie zdziwiło, to wyraźne pogorszenie wydajności gry. 

Strocicowanie było na tym samym dysku co gra.

Akurat wpływu tego czynika na SSD bym się raczej nie spodziewał, bowiem umieszczenie stronicowania na pierwszej partycji na początku dysku, jest obsadzeniem go na najszybszej jego części, a tutaj mamy małe zdziwienie, bowiem na SSD to tak nie działa. 

Zatem w wariancie trzecim utworzyłem specjalnie nową partycję dysku SSD tylko na stronicowanie (panel sterowania-narzędzia administracyjne-zarządzanie komputerem). Jest drobna poprawa, a pogorszenie po włączeniu dodatkowego stronicowania na HDD w czwartym wariancie, gdzie przy poprzednim ustawieniu (stronicowanie i gra na jednej partycji) HDD dawało pozytywny rezultat, ale głównie w powtarzanym przeze mnie wyścigu. Zmieniłem miejsce testowe na długą trasę szybkiego ruchu gdzie w jednym miejscu gra namiętnie zwalnia, i wyraźnie widać że potwierdza się, iż najlepiej mieć jeden dysk włączony jako stronicowanie. Choć tu orientacyjnie najlepiej sprawdziłby się w tej roli drugi SSD.

W poszukiwaniu dalszych optymalizacji włączałem jeszcze dla tej gry z pozytywnym skutkiem tryb gry i synchronizację pionową.

To pierwsze trochę obniża odczuwalną wydajność przy wyższych FPSach, ale za to przy niższych, i tam gdzie są szanse na utratę płynności i stabilności w trakcie jazdy, jest lepiej. Czyli bardzo podobna sytuacja do tej która miała miejsce w Mafii, choć tam testowałem ciągle na 16 czy 19 FPS z okazjonalnymi wzrostami. W BF V beta zaś aż takiego efektu przy podobnych wartościach nie zauważyłem.

Synchronizacja pionowa na ogół wprowadza input lag, ale przy ciągłych skokach 30-55 FPS, a nawet okazjonalnych spadkach, pokonywana ciągle ta sama trasa okazywała się trochę prostsza do pokonania. Co ciekawe, opcja domyślnie włączona, w innej grze na silniku Frostbite - Battlefield 5 (wersja beta).

Filtrowanie tekstur na ustawienie wydajność, i optymalizacja shaderów na włączone w panelu AMD, akurat uważam pogorszyło stabilność gry.

Poza tym już ciężko cokolwiek wymyślić by ta gra nie chodziła tak nieznośnie, pomimo częstego pokazywania tych 30 FPS.

Jest wgrany config od Low Spec Gamer, i trochę nawet obniża zasięg rysowania i coś tam jeszcze, ale to może podbija FPS, ale na spadki i niestabilności nie pomaga aż tak mocno.

Trzeba by chyba zejść całkowicie z FHD.

Na prawdę słabe cztery rdzenie, i współczesne wersje Frostbite się nie lubią, i bynajmniej nie tylko o RAM się tu rozchodzi. Zresztą np. BFV na multi jest mało grywalny, i między czasie tak samo nie używa dysku jak szalony (przynajmniej teraz w NFS przy SSD zdaje się dysk mielić mniej).

Na sam koniec wspomnę o ciekawym programie który idealnie sprawdza się w sytuacjach wąskiego gardła pamięci i CPU - inSpectre. Wyłącza wszystkie z tym związane w systemie. W Mafii już testowałem, i na tej platformie różnica była bardzo zauważalna, wręcz nie do zaakceptowania z włączonymi patchami. 

Także poszczególnymi KB nie trzeba już sobie zaprzątać głowy.

 Polecam też zajrzeć tutaj:

https://pcgamingwiki.com/wiki/Microsoft_Windows

Jest sporo ciekawych rzeczy opisanych pod kątem grania w systemach Windows, i możliwych problemach i rozwiązaniach ich.