Minecraft zrzera po 90% dostępnego ram, są poważne ściny. Co robić?

0

Cześć, mam zainstalowane ponad 150 modów. Paczkę zrobiłem sobie sam, więc sprowadziło się to po prostu to ściągnięcia danego moda i wrzucenia go do folderu mods. Mam przypisane do gry 14GB ram, w grze pokazuje mi, że 100% przydzielonej pamięci jest wykorzystywane. Jak sprawdzam procesy to okazuje się, że 90% całego dostępnego RAM zabiera gra. Przez to nie gra się komfortowo, ponieważ choć niby mam 60FPS, to robiąc jakąś pierdołę nagle spadek do 55, a nagle do 40, a znowu do 50 i tak dość często jest. Procesor jest obciążony w 30%, więc to chyba tragedii nie ma. Jeśli dokupię więcej RAM to rozwiążę problem z takimi lagami/spadkami dziwnymi? Aktualnie mam 2 kości 8GB każda, taktowanie 2133. Jeśli dokupię kolejne 16 i na grę przedzielę łącznie z 28GB to nie powinno już ciąć mi w trakcie gry?

Tylko proszę pomińmy temat jak można grać w Minecraft, no można. Mody techniczne bardzo zmieniają tą grę i można się poczuć inżynierem próbując zbudować skomplikowane systemu czy elektrownię, która zautomatyzuję grę pod wieloma względami.

1

O ile ściny rzeczywiście są powodowane przez memory swap to tak, dodatkowy ram pomoże. Tylko upewnij się, że to nie procesor ani karta graficzna - bo może być tak, że masz w grze jakieś skomplikowane mechanizmy które są przeliczane co któryśtam tick gry i wtedy chwilowe zuzycie procesora gwałtownie rośnie (mimo, że średnie zużycie jest niewielkie).

3
PanMateusz napisał(a):

Cześć, mam zainstalowane ponad 150 modów.

Pewnie to jest problem.
Wystarczy, że jeden z modów jest napisany przez mniej rozgarniętego programistę i nieważne ile RAM dodasz, albo jak potężny procesor będzie miał twój komputer, lagi będziesz miał.
Pytanie jak ustalić, który mod powoduję te lagi i czy tylko jeden?
Ja bym wziął jakiś profiler i jego pomocą próbował ustalić winnego, ale pewnie dla ciebie to za duża armata.

1

sprawdź ile Ci alokuje forge przy starcie. 16gb to jest dość mało jak na tyle modów, a ponadto jesteś pewien, że nie ma konfliktów między modami?

0

@Sunnydev: Wiesz co, nie wiem czy nie ma konfliktów. Jak mogę to sprawdzić? Mody się ładnie wczytują przy starcie, nie ma ścin gry. Przy generowaniu świata tak, ale jak tam jest napchane tyle modów i mi aż tyle ram zabiera, to w sumie nie dziwiło mnie to.

Bez modów, czysty forge: https://imgur.com/z5Vlafm
Z najważniejszymi modami (121): https://imgur.com/orRMBnp
Procesy: https://imgur.com/kuI6oQq

1

Wygląda na to, że masz włączoną synchronizację pionową. Wyłącz ją, bo teraz masz ustawiony max cap na 60fps i jeśli coś zrobisz (tak jak już wspomniałeś), to spada Ci poniżej tych sześćdziesięciu klatek. Po wyłączeniu pewnie będziesz miał dwa razy tyle fps i także będą Ci spadać, ale różnica będzie już niezauważalna. Co do konfliktów - generalnie może być dużo objawów (najczęściej crashe), ale jeśli nie crashuje przy włączaniu gry, to zazwyczaj wszystko jest ok. Jeśli jednak coś nie będzie działać, to java wyświeli Ci wall of text z którego będziesz mógł w większości przypadków wywnioskować co się gryzie.

2

Ja zobaczyłbym opcje z jakimi jest uruchomiona gra. Być może garbage collector czasem się odzywa i zatrzymuje całą używalną JVM.

EDIT: Żeby nie pisać w komentarzach
Powinieneś mieć coś takiego w edycji profilu mc.
title
Poszukałem chwilę w google i może coś takiego zadziała:
-XX:+UseG1GC -Xmx13G -Xms12G -Dsun.rmi.dgc.server.gcInterval=2147483646 -XX:+UnlockExperimentalVMOptions -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M
W nowszych wersjach Javy (9,10,11) tego nie sprawdzałem. Jeśli któraś opcja nie działa, wywal ją. Oczywiście można poszukać samemu po haśle "minecraft optimized java arguments". Ludzie podają różny zestaw opcji. U nich może inaczej działać, bo mają różne mody i sprzęt.

Można samemu doczytać o opcjach JVM, ale to dla wytrwałych.
https://www.oracle.com/technetwork/articles/java/vmoptions-jsp-140102.html

0

@PerlMonk: https://imgur.com/k3vGjVV
-Xmx16G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M
Mam coś takiego.

@Sunnydev: Pomogło lekko, bo nie spada poniżej 140 z modami, jednak jak mi spadnie z 200 do 160 to odczuwam ścinę. No ale niestety, nadal mam 96% pamięci w procesach cholera.

2

Xmx16G zmień na 10-12G. Nie dawaj całego RAMu. Sprawdź zmianę -XX:MaxGCPauseMillis=50 na 20 albo 100.

0

Ok, zmienię i przetestuję. Ale ogólnie mówiąc, co dołożenie ramu rozwiąże problem? Jeśli teraz mam 2x8 2133, to mógłbym wymienić na 4x8 3200.

1

Problem rozwiąże dołożenie RAMu + ustawienia parametrów JVM. Przy tej ilości danych na pewno będziesz mieć zwiechy, jeśli nie zajmiesz się opcjami JVM.
PS. Nie zapomnij i łapce w górę jeśli coś pomoże.

0

Testowałem parametry. Na czystym forge jest lepiej, allocated memory jest mniejsze o 20%, a wykorzystywana pamięć około 25% mniej. Aktualnie dodaję mody po kolei i testuję czas wczytywania, sprawdzam ile dodaje mi nowych przedmiotów i jak zmienia się czas. Wstępnie być może udało mi się ustalić który mod pieprzył mi grę. Dodawał tyle przedmiotów, co 130 innych, więc jest to kolosalna ilość, ale jeszcze przeprowadzam testy.

Niestety, wydaje mi się, że po prostu i tak mam za słabo RAM, bo mam dwie kości 8gb, 2133 mhz. Będę chciał coś dodać, możecie doradzić co powinienem wziąć? Mój procesor to i7-6800k, natomiast płyta główna Asus X99-a. Na płycie jest napisane, że wspiera DDR do 3200, natomiast procesor 2400/2133 (https://ark.intel.com/content/www/us/en/ark/products/94189/intel-core-i7-6800k-processor-15m-cache-up-to-3-60-ghz.html) Więc mogę kupić maksymalnie pamięć o taktowaniu 2400?

1 użytkowników online, w tym zalogowanych: 0, gości: 1