Jump to content
Sign in to follow this  
Isek

Problem z zacinaniem się gier. Battlefield 1

Recommended Posts

Temat dotyczy głównie Battlefielda 1, jednak nie dodałem go do działu konkretnie z grami, bo problem jest bardziej ogólny, i nie tylko w tej grze występuje.

Problem polega na tym, że gra się zacina, mimo, że wartość FPS waha się między 40-120 (nie za duże wahania?) Jednak spadek nie ma nawet miejsca przy tych wartościach, z powiedzmy ze 110 na 105 FPS. Widać wyraźną ścinkę. Albo nawet jak FPS'y są stałe to gra i tak się zacina, że momentami nieprzyjemnie się gra. Nie mam pojęcia dlaczego tak jest, skąd to się bierze, toć przy 60-120 fps gra powinna być stabilna i się nie zawieszać. A działa jakbym grał na starym kompie mając 15-20 fps. W innych grach problem też występuje, ale nie zawsze. Jeszcze jedno, jak w Battlefieldach są te wskazówki, dotyczące stabilności gry, to te okienko od klatek na sekundę bodajże, świeci się na żółto bez przerwy (na serwerach 60Hz) mimo wyższej ilość klatek. Czasem zmienia się też na czerwony kolor. Ale w takim Wiedźminie 3 spadków i takich zgrzytów nie ma.

A teraz praktyczne informacje: Temperatury są w porządku, nie przekraczają maksymalnych wartości. Komp niedawno czyszczony. Wykorzystanie zasobów prawie maksymalne. System to Windows 7 SP.1 a specyfikacja to:

Intel core i5 4690k, Msi Gtx 970 gaming 4g, Asrock z97 Pro4, Crucial Ballistix 2x4GB 1600Mhz, Crucial Mx100 256GB, Crucial Mx200 250GB, SPC Gladius x60, Thermaltake smart se modular 530w

Dodam, że problem w kampanii nie jest aż tak duży, gra działa stabilnie. Ping w Multi nie jest wysoki, w granicach 30-50.

Edited by Isek

Share this post


Link to post
Share on other sites

Sterowniki lub sama gra. Nie wiadomo. Sporo użytkowników kart NVIDII raportuje podobne problemy, ale nie za bardzo da się znaleźć jakąś część wspólną jeśli chodzi o te problemy. Podobno w niektórych przypadkach pomaga przejście na DX12 - mniej FPSów, ale są one stabilniejsze. Niestety w Twoim przypadku to odpada.

Share this post


Link to post
Share on other sites

Sterowniki najnowsze zainstalowałem. Instalując do karty wyczyściłem wszystkie poprzednie. Popróbowałbym nawet ze starymi, ale nie da się uruchomić Battlefielda nie mając tych najnowszych. Dodam też, że ustawienia grafiki nie mają na to żadnego wpływu, tak samo gra działa na ustawieniach ultra w Full HD, a tak samo na najniższych ustawieniach w rozdzielczości 1024 x ileś tam. Jednym słowem, ciężko nazwać ją grywalną. Na pustynnych mapach da się od biedy pograć, jednak wszystkie te miasta i tak dalej uniemożliwiają przyjemną rozgrywkę. Jako ciekawostkę dodam, że menadżer zadań pokazuje prawie maksymalne zużycie pamięci Ram, a procesora - tylko na poziomie 30-40%. MSI Afterburner pokazuje już normalnie, w granicach 100%.

Share this post


Link to post
Share on other sites

https://forums.battlefield.com/en-us/discussion/65020/fps-drops-after-updates-nvidia-and-patch-from-battlefield-1

https://forums.battlefield.com/en-us/discussion/64283/cpu-upgrade-worse-performance/

Po ostatnim patchu karty NVIDII oraz i5 od Intela miewają dziwne problemy w tej grze. Ty masz u siebie to i to, więc trudno powiedzieć co jest nie tak. Jak sobie przeszukasz forum gry lub NVIDII, to zobaczysz, że nie jesteś jedyną osobą, która ma ten problem. Ogólnie problem jest - rozwiązania jak na razie brak. Obawiam się, że pozostaje Ci czekać na to co zrobi DICE lub NVIDIA.

Edited by Sevard

Share this post


Link to post
Share on other sites

To lipnie trochę, że taka firma jak DICE, nie dość, że doprowadza do takich błędów, to jeszcze nie potrafi/nie spieszy się z ich naprawieniem. Nie dziwiłbym się jeszcze, gdyby po jakimś pathu gra stała się bardziej wymagająca sprzętowo, ale w każdym ustawieniu działa jednakowo. Czyli pech akurat chciał, że zakupiłem grę w momencie, w którym się posypała :D No nic, chyba faktycznie pozostaje tylko czekać. Chyba, że problemem jest 8GB Ramu?

Edited by Isek

Share this post


Link to post
Share on other sites

Tylko to wcale nie musi być wina DICE. Silnik Frostbite jest napisany w specyficzny sposób i jako jeden z niewielu naprawdę korzysta z wielu rdzeni. Problem jest taki, że tak samo z wielu rdzeni korzysta programowy scheduler w sterowniku NVIDII i nie zdziwiłbym się zbytnio, gdyby prawdziwym problemem był overhead sterownika NVIDII (zwłaszcza, że w ostatnich miesiącach NVIDIA nie ma szczęścia do sterowników). Na kartach AMD podobne problemy nie występują na taką skalę.

Edited by Sevard

Share this post


Link to post
Share on other sites

Jednak jeśli najprawdopodobniej to wina silnika, to dlaczego w kampanii dla jednego gracza podany problem nie występuje?

Właśnie wyszły nowe sterowniki do karty, zainstaluję i napiszę czy coś się zmieniło.

Edited by Isek

Share this post


Link to post
Share on other sites

A kto napisał, że to najprawdopodobniej wina silnika? To  jest tylko jedna z wielu możliwości. Osobiście jednak stawiam na sterowniki NVIDII, bo tak jak pisałem - na kartach AMD problem nie występuje na taką skalę.

W multi dochodzi kilka rzeczy więcej, przez co i zużycie procka jest większe i karta sieciowa jest obciążona (co może wpływać jakoś na wydajność) itp.

Share this post


Link to post
Share on other sites

Tak, masz rację, że multi więcej tego wszystkiego żre, co może powodować ścinki. Jednak jak pisałem, detale nie wpływają na stabilność, więc nawet nie powinno tu się chyba podchodzić sposobem myślenia pożerania wydajności przez tekstury, tylko właśnie, że coś jest skopane. Nie mniej jednak w tym co piszesz jest wielki sens :) Ogólnie temat nie do rozwiązania chyba obecnie, bo nawet przyczyna nie jest znana. Zainstalowałem stare sterowniki i nowsze. Na starszych działa chyba trochę lepiej, ale dalej nie jest to poziom odpowiedni. Co ciekawe, dopiero po kilku grach, lub około godzinie, spada wydajność. Są mapy, że przez 1 godzinkę działają dobrze, a jak zaczyna się druga, to już szaleją. Objawy podobne do przegrzewania się sprzętu, jednak nie jest to ten problem, bo taki Wiesiek 3 działa bez problemu nawet 10 godzin bez przerwy :D

Share this post


Link to post
Share on other sites

Hm, skoro problemy występują po dłuższym czasie to kilka rzeczy do sprawdzenia:

- możesz w tym czasie monitorować użycie GPU oraz częstotliwości pamięci oraz rdzenia? Być może NVIDIA znowu coś zepsuła w przełączaniu między różnymi stanami (lub tego nie naprawiła do końca)?

- zerknij jak wygląda zużycie pamięci (może gdzieś jest wyciek, który to powoduje).

Share this post


Link to post
Share on other sites

Pogubiłem się szczerze z tym sprawdzaniem :D MSI Afterburner pokazuje mi zużycie karty graficznej na poziomie 90-100% oraz taktowanie w granicach 1300Mhz

Pod tym mam ustawioną kontrolę pamięci, skrót (mem:), ale w końcu jakiej? Pokazuje taktowanie 3500Mhz oraz zużycie 2GB pamięci. Jeśli to karta graficzna, to dlaczego 2GB zużycia pamięci oznacza 100%?

Teraz użycie GPU zaczęło skakać - to podawane w %, ale nie dobija nawet do 100%, mimo, że gra zaczęła gorzej działać (chyba na najbardziej wymagającej mapie). Jak spojrzałem na wykres, to jeździ on i w górę i w dół, skacząc od 20% zużycia do 100% w ułamku sekundy. Użycie procka stale bliskie 100%. Ram podskoczył aż do 7300MB zużycia. FPSy powyżej 60, z minimalnymi spadkami do 45 tylko na jednej mapie. Ogólnie na papierze źle to nie wygląda.  Są spore rozbieżności w działaniu pomiędzy wybranymi mapami. Mapa z miastem jest prawie niegrywalna. Między ustawieniami graficznymi przeskakuję od niskich, przez średnie, do ustawień ultra, i w sumie nie widać wielkiej różnicy w działaniu, może zużycie karty graficznej mniejsze o jakieś 3%.

Edited by Isek

Share this post


Link to post
Share on other sites
1 godzinę temu, Isek napisał:

Jak spojrzałem na wykres, to jeździ on i w górę i w dół, skacząc od 20% zużycia do 100% w ułamku sekundy. Użycie procka stale bliskie 100%.

Czyli procek nie nadąża z wysyłaniem danych do karty. Kwestia wysokiego overheadu API/sterownika lub błędów w kodzie gry. Możesz jeszcze spróbować sprawdzić co tak mocno obciąża procka, ale jeśli wyjdzie, że to gra, to tak naprawdę niewiele to wyjaśni.

Share this post


Link to post
Share on other sites

Jak mówiłem, w innych grach ten problem nie występuje. Tzn są jakieś tam przypadki, chociażby Battlefield 4 też mógłby działać płynniej. Ale odpaliłem przed chwilą Wieśka 3 i chodzi świetnie, na uber detalach, bez ścinek i ze stałą liczbą klatek na sekundę. Ale nie wiem czy mówimy o tym samym, bo chyba dość chaotycznie napisałem. Skoki dotyczą karty graficznej. Procek poniżej 90% nie schodzi w ogóle, w sumie cały czas na 100% jedzie, chyba, że o tym właśnie mówisz.

Share this post


Link to post
Share on other sites

To są naczynia powiązane - każdy element zestawu może w jakiś sposób wpływać na działanie innych elementów. Dlatego właśnie często teoretycznie słabsze, ale dobrze dobrane zestawy, radzą sobie w grach lepiej niż te, w których ktoś zainwestował w jeden, czy dwa mocno komponenty, kosztem innych.

Żeby karta graficzna mogła cokolwiek zrobić, to coś musi dostarczyć jej dane do obróbki. Jeśli procek jest zajęty czymś innym, to może nie wysyłać tych danych dostatecznie szybko i wtedy karta graficzna mogłaby coś robić, ale nie jest w stanie, bo nie otrzymuje danych. Takie momenty dobrze widać na zużyciu GPU - objawiają się nagłymi spadkami zużycia GPU lub właśnie takim skokowym działaniem. Jeśli dodatkowo w tym samym momencie procek jest praktycznie w 100% obciążony, to można mieć pewność, że coś takiego ma miejsce. Przyczyny - jak pisałem wcześniej - mogą być różne. Od błędów w grze, przez API, błędy w sterowniku, a na architekturze kart graficznych kończąc.

Co więcej - to że w jednej grze dana kombinacja działa poprawnie, nie znaczy jeszcze, że będzie działała poprawnie w innej. Różne efekty graficzne w różny sposób mogą obciążać procek i GPU.

Share this post


Link to post
Share on other sites

Niestety, trochę jak z androidem i jego kompatybilnością :P Jednak połączenie i5 4690k i gtx 970 jest dość popularnym połączeniem, więc nie chce mi się wierzyć, że wydajność nie ulegnie poprawie. Lubię zagwozdki sprzętowe, ale to już przesada szczerze mówiąc. Dochodzi później do takich sytuacji, że więcej grzebie w ustawieniach niż bawię się w grze. Fakt, niby według oficjalnych wymagań nawet i5 4690k nie łapie się na minimalne wymagania, ale myślałem, że to zostało jak zawsze zawyżone :) Chyba zostaje czekanie na nowsze łatki do gry (bo w becie nikt problemów nie miał) i na aktualizacje sterowników do karty graficznej. Na najstarszych sterownikach, ale wystarczająco nowych dla Battlefielda 1 da się grać na większości map, oprócz miasta w sumie. Szkoda tylko, że człowiek wydaje 130zł na grę a potem jest robiony w ciula delikatnie mówiąc, no cóż, wiwat wielkie korporacje :D

Taka ciekawostka, komputer o wiele głośniej chodzi przy takim CS Go, niż przy Battlefield 1 ;) Dopiero zwróciłem na to uwagę, ale w Wiedźminie, CS'ie, czy POE komputer potrafi jak odkurzacz chodzić, w BF'ie jest strasznie cichutki.

Edited by Isek

Share this post


Link to post
Share on other sites

OK, inaczej. Różne instrukcje mogą różnie wpływać na temperatury. 100% obciążenia karty graficznej, czy ogólniej procesora to nie zawsze jest to samo. Procesory mogą być w 100% obciążone jakimiś prostymi zadaniami, a mogą być w 100% obciążone czymś skomplikowanym. To potem różnie przekłada się np. na temperatury. Wszystko zależy od tego jakie rejestry (oraz inne elementy) i w jakim stopniu są wykorzystywane.

Dodatkowo - tak jak pisałem - w przypadku kart graficznych najpierw procesor wstępnie przygotowuje dane do obróbki (kompiluje shadery itp.). Przy czym różne karty mogą wymagać danych obrobionych w różnym stopniu. I to się różni nie tylko między producentami GPU, ale również między różnymi architekturami kart danego producenta. Np. poprzednia architektura AMD - VLIW wymagała danych dużo mocniej obrobionych niż GCN. NVIDIA szła w nieco inną stronę. Pierwsze karty na architekturze GPC, czyli Fermi wymagały niewielkiej obróbki po stronie procesora, ale Kepler wymagał już nieco więcej, a ostatnie karty, czyli Pascale (oraz Maxwelle, bo to prawie to samo) wymagają bardzo mocno obrobionych danych, a karta dokonuje tylko prostych obliczeń. Podejście AMD sprawia, że niezależnie od tego jakie dane są obrabiane, to procek musi wykonać mniej więcej taką samą pracę, ale odbywa się to kosztem efektywności energetycznej oraz mniejszej wydajności w tych podstawowych obliczeniach. Podejście NVIDII świetnie sprawdza się, gdy karta ma do obrobienia jakieś proste dane, ale już dusi się, jeśli ma zrobić coś bardziej skomplikowanego. Nie jest to pierwsza gra, w której NVIDIA ma tego typu problemy i pewnie nie ostatnia. Fajnie to było widać w ostatnim NFS, gdzie gra klatkowała na kartach NVIDII, gdy ktoś próbował palić gumę - efekt dymu zabijał kartę. Z drugiej jednak strony - nie trudno znaleźć gdy, w których AMD miewa dziwne problemy. W idealnym świecie trzeba by mieć karty obydwóch producentów i może wtedy by wszystko działało poprawnie.

Edited by Sevard
  • Upvote 1

Share this post


Link to post
Share on other sites

Bardzo ciekawe informacje. Nie podchodziłem szczerze mówiąc do tego w ten sposób. Słyszałem jedynie, że procek do Radeonów musi być mocniejszy, niż do kart Nvidii. Ale tu co piszesz, wychodzi odwrotnie. Jednak znowu paradoks, bo podobno nawet i5 2500k radzi sobie spokojnie do tej pory. Jednym słowem, kawał ciekawej wiedzy, i pozostaje chyba się po prostu przerzucić na konsole, bo pecety to jedna wielka niewiadoma :D

Edited by Isek

Share this post


Link to post
Share on other sites

To w obydwóch przypadkach są takie trochę półprawdy, bo sterowniki oraz karty AMD i NVIDII  działają inaczej i to wszystko może, ale nie musi wyjść w jakimś tytule.

W DX11 wygląda to tak:

- w przypadku AMD scheduler, który jest wewnątrz karty odpytuje się co jakiś czas o nowe zadania. Niestety z powodu konstrukcji samego DX11 robi to zawsze na pierwszym wątku, więc jeśli ten wątek jest mocno obciążony czymś innym, to karta nie może dopchać się po dane. Stąd właśnie wzięła się informacja, że AMD potrzebuje mocnego procka lub raczej mocnego pojedynczego rdzenia. Tak naprawdę gdyby gry były pisane poprawnie, to byłoby to bez znaczenia, ale nie są. Tu wspomniałeś Androida i sprawa wygląda w pewnym sensie podobnie - tam też jest zakaz wykonywania ciężkich tasków na głównym wątku  - takie taski powinny być wykonywane asynchronicznie na osobnych wątkach.

- w przypadku NVIDII scheduler jest w sterowniku i działa na wielu wątkach. Ma to swoje plusy w DX11, bo dzięki temu nie wpada się w taką pułapkę jak AMD - wydajność karty nie jest ograniczana przez niekompetencję programistów, którzy nie potrafią zrobić czegoś wielowątkowo. Minusem jest to, że to, co w przypadku AMD jest robione w sprzęcie, musi być zrobione w sterowniku, co przekłada się na większe sumaryczne obciążenie procka, ale to obciążenie jest rozłożone na wiele rdzeni. Właśnie stąd informacja, że karty NVIDII lubią procesory wielowątkowe.

W DX12 wygląda to nieco inaczej:

- w przypadku AMD - scheduler może odpytywać się na wielu wątkach, więc problemy znane z DX11 znikają, a przynajmniej są mniej widoczne;

- w przypadku NVIDII - scheduler nadal jest w sterowniku, więc sytuacja w najlepszym przypadku pozostaje bez zmian.

I i5 2500K radzi sobie dobrze do tej pory w większości tytułów. Zauważ, że problemy w BF 1 dotyczą praktycznie wszystkich i5, również tych najnowszej generacji. Z jakiegoś powodu gra lubi mieć więcej niż 4 wątki (przynajmniej w połączeniu z kartami NVIDII). Ale z drugiej strony istnieją gry, które lepiej działają na i5, niż na i7. Naprawdę wszystko zależy od tego jak napisana jest gra, sterowniki itp.

I tak - konsole nie mają tego problemu, ale w zamian mają kilka innych.

  • Upvote 1

Share this post


Link to post
Share on other sites

Powiem Ci, że uczyłem się o wielu pierdołach związanych ze sprzętem, ale tak konkretnych informacji niestety nie było mi dane na zajęciach poznać. Myślę, że nie raz do tej wiedzy sięgnę. Wiedziałem, że istnieją zależności, jednak moja znajomość doboru sprzętu, nawet nie tyle opierała się na tym co Ty piszesz, tylko po prostu na dokładnym szukaniu i porównywaniu. W sumie to i tak ostatnimi czasu dużego wyboru nie było, i nie ma.

No, nic, chyba się niewiele zdziała. Jednak w sumie pogram wieczorem godzinkę czy dwie nawet czasem, bo głównie na mapach szturmu da się grać bez problemu, są mniejsze i mniej wykańczają procka, dzięki temu gra działa znośnie :) Zresztą jak pisałem, loteria, jak się nie da grać, to wychodzę z gry i tyle, a za kilka godzin gra się na tej samej mapie bez problemów. Mam też tyle książek do czytania, że nawet nie spędzam wiele czasu przy komputerze.

I jeszcze jedno pytanko. Multi core enhancement powoduje uruchomienie boosta zawsze przy maksymalnym obciążeniu procka jak dobrze wyczytałem. Warto to mieć uruchomione? Bo domyślnie mam wyłączone.

Share this post


Link to post
Share on other sites

Pytanie mam, Diabeł czy Anioł jesteś? Zastosowałem podaną przez Ciebie metodę, nie myśląc wiele. Efekty tejże pomysłowości zaskoczyły mnie. Gra działa i ma się dobrze. Uruchomiłem najbardziej wymagającą mapę w grze, co ledwo mogłem ostatnio grać. I co? Nawet ani razu się nie zacięła. Działa jakbym sprzęt zamienił na wydajniejszy. Szczerze mówiąc  - cud. Wszystko działa płynnie i nie mam na co narzekać, nawet się nie świecą te kwadraciki z problemami od klatek na sekundę. W szoku jestem, bo zamiast marudzić mogę grać i to bez ścinek na wysokich detalach. Jeśli się to utrzyma, i dalej gra będzie śmigać, to Ci wiszę na pewno piwo, a jak będziesz w okolicach Torunia to i flaszki nie poskąpię :)

Edited by Isek

Share this post


Link to post
Share on other sites

Powinno działać. Tak jak teraz szukam, to problem jest tego typu, że normalnie karta próbuje wygenerować tyle klatek ile tylko może, co przekłada się na bardzo wysokie zużycie CPU (patrz jeden z moich wcześniejszych postów o tym jak działa sterownik NVIDII). To z kolei sprawiało, że nie było wolnego czasu CPU na potrzeby generowania kolejnych klatek i stąd te małe ścinki. Po chwili jednak procek znowu był wolny i generował kolejne klatki. To jest problem w architekturze sterownika - gra nie ma tu nic do rzeczy, może tylko tyle, że jest dosyć wymagająca.

To co włączyłeś, to limiter klatek w grze - gra nie pozwala na wygenerowanie większej ilości klatek niż wskazana wartość. To jednak może przełożyć się na screen tearing. Jeśli będą występowały tego typu rzeczy, to możesz spróbować ustawić nieco większą wartość. Możesz też spróbować ustawić limit klatek w samym sterowniku (nie pamiętam gdzie w panelu NVIDII jest ta opcja, ale na pewno gdzieś jest). Wtedy sterownik powinien zadbać o to, żeby te klatki były rozłożone w miarę równomiernie.

  • Upvote 1

Share this post


Link to post
Share on other sites

Jest jeszcze jeden mały problem. Muszę wpisywać  to za każdym razem. Wpisałem to w ustawieniach gry w Originie, jednak jakoś nie chce załapać.

Share this post


Link to post
Share on other sites

Sprawdź w takim razie, czy ustawienie limitera klatek z poziomu sterownika nie zadziała podobnie. Tam powinno dać się to ustawić raz, a dobrze.

@edit Tak jak szukam po necie, to jednak NVIDIA nie wrzuciła tego do sterowników. Trzeba użyć programu NVIDIA Inspector.

Edited by Sevard
  • Upvote 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...