Autor Wątek:  Nagłe spadki wydajności nawet na średnim sprzęcie  (Przeczytany 2847 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Offline Zigi3OO

  • Wiadomości: 33
    • Zobacz profil
  • Otrzymane polubienia: 5
Nagłe spadki wydajności nawet na średnim sprzęcie
« dnia: 31 Października 2020, 21:46:29 »
Cześć,

Od kilku miesięcy gram prowadzę symulację na "uproszczonym" rendererze pogodzony z faktem że "pełnego" nawet na minimalnych ustawieniach mój kilkuletni już komputer (2015, i7-4720HQ, 8 GB RAM, GeForce GTX 950M, SSD, Windows 10) niestety już nie uciągnie. Problem polega na bardzo denerwującym "rwaniu" obrazu, mimo że FPS normalnie sięga około 60, spada do 30 w ciężkich miejscach (co byłoby zupełnie akceptowalne gdyby nie te ścinki).

Dziś mając trochę czasu i motywacji zacząłem kombinować, ponieważ doszedłem do wniosku że skoro FPS przez zdecydowaną większość czasu jest właściwy, to powodem problemów, "wąskim gardłem" musi być coś innego niż wydajność karty.

Zerknąłem sobie na czasy liczenia klatek wyświetlane w oknie pod F12 i jedyną podejrzaną wartością była "gpu frame total" — normalnie wynosiła ona 10-25ms, przy ścięciach potrafiła mieć i 150ms (na pojedynczych klatkach). Wykluczyło to Pythona, gdyż on obciąża procka, a wartość dla CPU była stabilna.

Zacząłem wyłączać opcje które mogły być tego winne: logowanie przebiegu symulacji, Pythona na wszelki wypadek, usuwanie tekstur z OpenGL i nie zauważyłem większych zmian. Uśmiech na twarzy wywołało dopiero wyłączenie lusterek (opcja nazywa się "odbicia jako cubemapa", bardzo intuicyjnie ;P). Mimo że wcześniej częstotliwość ich odświeżania miałem ustawioną na minimum to właśnie w momentach ich renderowania karta dostawała znacznie więcej pracy na klatkę i kompletnie wysiadała.

Ponowne włączenie usuwania tekstur i logowania symulacji powodowało wydaje mi się pojawienie się znów lekkich skoków FPS więc jako zbędne zostawiam te rzeczy wyłączone ale zdecydowanie największe znaczenie miały te lusterka. Mogę teraz jeździć na dość wysokich ustawieniach bez problemu.

Piszę bo ktoś może ma podobnie. Może warto rozważyć wyłączenie tej opcji domyślnie?

Pozdrawiam!

Offline Turbokibel

  • Wydział Repozytorium
  • Wiadomości: 1491
    • Zobacz profil
  • Otrzymane polubienia: 1213
Odp: Nagłe spadki wydajności nawet na średnim sprzęcie
« Odpowiedź #1 dnia: 31 Października 2020, 21:49:33 »
Czy masz włączoną synchronizację pionową?

Offline Zigi3OO

  • Wiadomości: 33
    • Zobacz profil
  • Otrzymane polubienia: 5
Odp: Nagłe spadki wydajności nawet na średnim sprzęcie
« Odpowiedź #2 dnia: 31 Października 2020, 21:50:52 »
Tak, mam.

Offline Turbokibel

  • Wydział Repozytorium
  • Wiadomości: 1491
    • Zobacz profil
  • Otrzymane polubienia: 1213
Odp: Nagłe spadki wydajności nawet na średnim sprzęcie
« Odpowiedź #3 dnia: 31 Października 2020, 21:52:46 »
Niestety, musisz ją wyłączyć lub zostawić włączoną i ustawić limit FPS np. w panelu sterowania NVIDIA lub w programie RivaTuner, niestety, niewiadomo dlaczego tak się dzieje, utworzyłem nawet zgłoszenie na bugtrackerze : https://wiki.eu07.pl/flyspray/task/416

Offline Zigi3OO

  • Wiadomości: 33
    • Zobacz profil
  • Otrzymane polubienia: 5
Odp: Nagłe spadki wydajności nawet na średnim sprzęcie
« Odpowiedź #4 dnia: 31 Października 2020, 21:54:51 »
Masz na myśli że jak tak zrobię to będę mógł mieć lusterka włączone? Ok, popróbuję.

Offline Turbokibel

  • Wydział Repozytorium
  • Wiadomości: 1491
    • Zobacz profil
  • Otrzymane polubienia: 1213
Odp: Nagłe spadki wydajności nawet na średnim sprzęcie
« Odpowiedź #5 dnia: 31 Października 2020, 21:58:16 »
Najlepiej to załącz synchronizację pionową w symulatorze i ustaw limit klatek na sekundę (60) w panelu sterowania NVIDIA, ta opcja może się teraz nazywać troszkę inaczej. Mam nadzieję, że pomoże. :)
« Ostatnia zmiana: 31 Października 2020, 22:05:05 wysłana przez Turbokibel »

Offline Zigi3OO

  • Wiadomości: 33
    • Zobacz profil
  • Otrzymane polubienia: 5
Odp: Nagłe spadki wydajności nawet na średnim sprzęcie
« Odpowiedź #6 dnia: 31 Października 2020, 22:12:16 »
:O

Ło paaaanie, na lusterkach w Lublińcu 30ms na klatkę, po wyjeździe na szlak 60 FPS równo jak po stole...

Potestuję jeszcze ale wydaje mi się że faktycznie pomogło.

Offline Turbokibel

  • Wydział Repozytorium
  • Wiadomości: 1491
    • Zobacz profil
  • Otrzymane polubienia: 1213
Odp: Nagłe spadki wydajności nawet na średnim sprzęcie
« Odpowiedź #7 dnia: 31 Października 2020, 22:13:53 »
Cieszę się, że pomogło, no niestety, coś synchronizacja pionowa w MaSzynie kiepsko działa. :<

Offline Bartek3g

  • Wiadomości: 28
    • Zobacz profil
  • Otrzymane polubienia: 1
Odp: Nagłe spadki wydajności nawet na średnim sprzęcie
« Odpowiedź #8 dnia: 12 Grudnia 2021, 18:59:22 »
Cześć, wiem że już trochę czasu upłynęło od ostatniej wiadomości w tym temacie ale niestety mam taki sam problem jak kolega, lecz w porównaniu do sytuacji i rozwiązań przedstawionych powyżej, u mnie nie zadziałały tak jak powinny.
Próbowałem już różnych kombinacji, w sterowniku karty graficznej AMD Radeon ograniczyłem ilość klatek na sekundę, wyłączałem w starterze synchronizację pionową, pobierałem również wspomniany program Rivatuner i tam również to samo nastawiałem, powyłączałem odbicia lusterek jako cubemapy, usuwanie tekstur z opengl, tryb uproszczony shaderowy itp. lecz dalej dzieje się to samo.
FPS-y w obciążonych miejscach oscylują wokół 30 ale te nagłe skoki gpu frame total czynią symulację kompletnie niezdatną.
Co jeszcze ciekawsze, gdy uruchamiałem program rivatuner, pomimo że limit był ustawiony na 60 FPS, w symulatorze były obcinane równo o połowę, do 30, i za chiny ludowe nie dało się podnieść do tych 60.
Może ktoś ma jakieś pomysły jak to wszystko rozwiązać?

Pozdrawiam

Offline Turbokibel

  • Wydział Repozytorium
  • Wiadomości: 1491
    • Zobacz profil
  • Otrzymane polubienia: 1213
Odp: Nagłe spadki wydajności nawet na średnim sprzęcie
« Odpowiedź #9 dnia: 12 Grudnia 2021, 19:06:31 »
Na karcie graficznej AMD wydajność będzie o minimum 50% mniejsza w porównaniu do NVIDII, niestety. AMD nie robi (nie robiło) dobrych sterowników dla OpenGL, nie posiadają wszystkich rozszerzeń. Jedyne rozwiązania, które przyniosą wzrost wydajności to renderer ANGLE, Vulkan, https://eu07.pl/forum/index.php/topic,33158.msg538375.html#msg538375 tylko te exe jest bardzo mocno w tyle z zmianami z 21.04, więc nie będzie ono w pełni kompatybilne, ale warto spróbować.
Edit: jeżeli symulator obcina FPSy do 30 w vsyncu, to oznacza, że nie uzyskuje tych 50-60 FPS. Ogólnie to na NVIDII również zdarzają się takie mikro lagi, ale jest jedyny sposób na ich wyeliminowanie
1. Załączyć vsync w starterze
2. W panelu sterowania NVIDII załączyć potrójne buforowanie dla eu07.exe
3. Limit FPS w RivaTuner Statistics Server
4. Zmienić tryb zasilania na wysoka wydajność w panelu zasilania w Windowsie.
Spróbuj pokombinować jeszcze z potrójnym buforowaniem (powinno gdzieś być w AMDowskim panelu) i z trybem zasilania w Windowsie.
« Ostatnia zmiana: 12 Grudnia 2021, 19:11:14 wysłana przez Turbokibel »

Offline Bartek3g

  • Wiadomości: 28
    • Zobacz profil
  • Otrzymane polubienia: 1
Odp: Nagłe spadki wydajności nawet na średnim sprzęcie
« Odpowiedź #10 dnia: 12 Grudnia 2021, 19:59:46 »
Znaczy może źle to wytłumaczyłem, to nie sam symulator redukuje te fps-y na vsync, tylko program Rivatuner. Gdy ustawiam synchronizację pionowa w starterze lub w sterowniku AMD Radeon, wtedy faktycznie ogranicza do 60 klatek. Natomiast gdy włączałem program Rivatuner i w nim ustawiałem limit na 60 wtedy w symulatorze redukowało do połowy czyli równo do 30 i ani trochę więcej.
Edit: Również ta wspomniana wydajność na tej karcie Radeon ogólnie nie jest jakaś najgorsza, tak jak mówiłem, w bardziej obciążonych miejscach czyli na wiekszych stacjach, w Lublińcu, Częstochowie, na odcinku pomiędzy nimi itp. utrzymuje się mniej więcej 30 FPS, na pozostałych jest ok 50-55 także nie jest źle, tylko te duże skokowe opóźnienia gpu frame total powodują że całość nie wygląda najlepiej.
Edit2: potrójne buforowanie już wcześniej włączałem kombinując z ustawieniami sterownika, tryb zasilania również przestawiłem i niestety nic to nie dało. Natomiast zauwazyłem jeszcze jedną ciekawą rzecz. Na samym początku wszystko działa nawet całkiem przyzwoicie, nawet gdy symulacja startuje od razu np: w Lublińcu albo Częstochowie, nie ma jeszcze takich przycięć, dopiero jak się symulator "rozgrzeje" wtedy zaczynają się schody...
« Ostatnia zmiana: 12 Grudnia 2021, 22:51:09 wysłana przez Bartek3g »

Offline Stele

  • Zasłużony dla Symulatora
  • Wiadomości: 10131
    • Zobacz profil
  • Otrzymane polubienia: 2596
Odp: Nagłe spadki wydajności nawet na średnim sprzęcie
« Odpowiedź #11 dnia: 13 Grudnia 2021, 00:32:13 »
Maszyna nic w locie nie doczytuje, oprócz ludzików w wagonach, generowanych tabliczek i ewentualnych zmian pór roku, więc podejrzewam problem z odśmiecaniem vramu. Patrzyłeś czy jest różnica z zaptaszonymi oboma lub którymś z programowych trybów konserwacji pamięci w starterze? Masz gdzieś podgląd zużycia pamięci karty by to zweryfikować?
Mój kanał youtube

Offline Bartek3g

  • Wiadomości: 28
    • Zobacz profil
  • Otrzymane polubienia: 1
Odp: Nagłe spadki wydajności nawet na średnim sprzęcie
« Odpowiedź #12 dnia: 13 Grudnia 2021, 00:48:17 »
Wiem że maszyna już po uruchomieniu nic nie doczytuje, miałem na myśli że po uruchomieniu tak jakby tego problemu nie było a z biegiem symulacji zaczyna się to pojawiać i powoli narasta.
Tryb konserwacji pamięci już dawno wyłączyłem, podgląd zużycia pamięci i parę innych wskaźników też by się znalazło, natomiast teraz nie ma nawet możliwości jak ich odczytać, pojawił się kolejny problem, a jakże by inaczej, to by było zbyt piękne gdyby wszystko poszło jak należy...
Próbowałem zamienić renderer na ANGLE według instrukcji zamieszczonej w dziale z linku kolegi Turbokibel, cały wątek przeczytałem zanim się do tego zabrałem, zrobiłem wszystko tak jak było to wyszczególnione a koniec końców pojawia mi się taki sam błąd jak koledze EP07-385: maszyna nawet nie chce zaskoczyć, log kończy się wpisem "Bad init: failed to create glfw window"...
OpenGL jest tak samo jak powyżej, w wersji 4.6, wszystkie shadery i dll wgrane, wpisy do eu07.ini też dodane.

Offline Turbokibel

  • Wydział Repozytorium
  • Wiadomości: 1491
    • Zobacz profil
  • Otrzymane polubienia: 1213
Odp: Nagłe spadki wydajności nawet na średnim sprzęcie
« Odpowiedź #13 dnia: 13 Grudnia 2021, 08:43:19 »
Na samym początku wszystko działa nawet całkiem przyzwoicie, nawet gdy symulacja startuje od razu np: w Lublińcu albo Częstochowie, nie ma jeszcze takich przycięć, dopiero jak się symulator "rozgrzeje" wtedy zaczynają się schody...
Może throttling? Sprawdź temperatury.

Offline Bartek3g

  • Wiadomości: 28
    • Zobacz profil
  • Otrzymane polubienia: 1
Odp: Nagłe spadki wydajności nawet na średnim sprzęcie
« Odpowiedź #14 dnia: 13 Grudnia 2021, 14:50:23 »
Nie, to nie to, mam cały czas włączony HWMonitor i temperatury są w normie.
Wiesz może co zrobić z tym "Bad init: failed to create glfw window" po próbie przejścia na Angle?

Offline Turbokibel

  • Wydział Repozytorium
  • Wiadomości: 1491
    • Zobacz profil
  • Otrzymane polubienia: 1213
Odp: Nagłe spadki wydajności nawet na średnim sprzęcie
« Odpowiedź #15 dnia: 13 Grudnia 2021, 15:52:00 »
Jaka to jest w ogóle karta graficzna?

Offline Bartek3g

  • Wiadomości: 28
    • Zobacz profil
  • Otrzymane polubienia: 1
Odp: Nagłe spadki wydajności nawet na średnim sprzęcie
« Odpowiedź #16 dnia: 13 Grudnia 2021, 16:45:02 »
Karta to Radeon Vega RX 11, niemniej jednak myślę że tutaj nie będzie miał wpływu taki a nie inny model karty, widzę że również parę innych osób na forum w różnych wątkach poruszało tą sprawę np: u kolegi EP07-385 jest mocniejszy Radeon RX580 z 8 GB pamięci RAM i także występuje to samo.

Maszyna nic w locie nie doczytuje, oprócz ludzików w wagonach, generowanych tabliczek i ewentualnych zmian pór roku, więc podejrzewam problem z odśmiecaniem vramu. Patrzyłeś czy jest różnica z zaptaszonymi oboma lub którymś z programowych trybów konserwacji pamięci w starterze? Masz gdzieś podgląd zużycia pamięci karty by to zweryfikować?

Cofnąłem zmiany dla renderera Angle i znów mogę uruchomić symulację, na próbę nastawiłem tak jak mówiłeś tryb konserwacji pamięci i usuwanie tekstur z Open GL i wydaje mi się że problem się powiększył.
Takie mikro przycięcia (nawet nie skoki gpu frame total) zaczęły występować od razu i to nawet na torze doświadczalnym, po wyłączeniu usuwania tekstur i pozostawieniu samego trybu konserwacji pamięci trochę było ich mniej ale jeszcze były widoczne.
Najlepiej jednak działa przy wyłączonych obu tych opcjach, przy czym zaznaczam że te różnice były widoczne od samego uruchomienia i to na torze doświadczalnym, o tych skokach rzędu kilkuset milisekund nawet tutaj nie wspominam bo TD jest zbyt lekką scenerią by takie na nim występowały.


EDIT: Ok, jakimś cudem udało się uruchomić ten renderer Angle, a tu takie kwiatki się pokazują... część cieni "pixeluje" i do tego to czarne niebo?
Ktoś mądrzejszy ma jakiś pomysł? 🤔
« Ostatnia zmiana: 14 Grudnia 2021, 23:47:47 wysłana przez Bartek3g »