Ocena wątku:
  • 0 głosów - średnia: 0
Pytanie odnośnie autobusów przegubowych oraz pociągów
#3
Jest dokładnie tak jak @SZyMeX opisał. Jest jeszcze jedna kwestia o które nie wspomniano. Symulację ruchu jeszcze dałoby się ograć, natomiast detekcję kolizji już niekoniecznie.
Aktualnie jeśli powiedzmy, taksówka jedzie za tramwajem (wspólny pas) to ID pojazdu przed taksówką jest ID ostatniego członu tramwaju. W przypadku połączenia członów cały system detekcji i rejestrowania się pojazdów na segmentach musiałby zostać de facto przepisany, aby nadal działał poprawnie.

Jako alternatywę możesz spróbować moda More Vehicles który podnosi limit pojazdów i zaparkowanych samochodów do 65k. Warto mieć na uwadze, że każdy zapis gry z włączonym modem nie załaduje się już bez niego.

Mod sam w sobie jest bardzo stabilny, raczej nie ma żadnych błędów, aczkolwiek ma wpływ na wydajność. Bez w/w moda cykl aktualizacji wszystkich pojazdów trwa 16 klatek symulacji co daje 1024 pojazdy na klatkę. Po aktywacji moda nadal ten cykl trwa 16 klatek, więc co klatkę gra musi poddać symulacji 4096 pojazdów.

Różnica wydajności nie powinna być ogromna (no nie jest to na pewno 4x dłużej), ale z grubsza można przyjąć, że symulowanie 16k bez moda będzie jak symulowanie ok. 12-13k z modem, bo dochodzi proces pomijania nieaktywnych pojazdów (z modem przy 16k aktywnych nadal pomijamy 3/4 z puli).

Do tego wszystkiego dochodzi jeszcze dodatkowa pętla ExtraSimulationStep(symuluje dodatkowe rzeczy, np.: pałąki trolejbusów) i tu już jest pełny zakres pojazdów (16k lub 65k z modem) co klatkę symulacji z automatycznym pominięciem nieaktywnych pojazdów i tych które działają jako "wagonik".

Podsumowując, co klatkę menedżer pojazdów symuluje 1024 + 16k lub 4096 + 65k(z modem) lub jak ktoś woli pełny cykl aktualizacji wszystkich pojazdów:
16k + (16kl. *16k) = 278 528
lub
65k + (16kl.*65k) = 1 114 112 (z modem)   Upside_down

Wątek symulacji jest taktowany na 64 kl./sek. czyli średnio 16ms/kl. przy prędkości 1x

Różnicę wydajności można przetestować na nowej mapie z użyciem ModTools.
Gra ma wbudowany profiler symulacji i wartość dla menedżera pojazdów można odczytać
Ctrl+E (scene explorer) i nawigować do VehicleManager.m_simulationProfiler.m_averageStepDuration (liczbę należy podzielić przez 10tys dla uzyskania wartości w milisekundach).

Oczywiście wątek symulacji nie odpowiada tylko i wyłącznie za pojazdy Wink
 Podziękowali: SZyMeX , Rolada
  Odpowiedz

Witaj na Cities Skylines PL!
Aby dodać odpowiedź zaloguj się, lub zarejestruj nowe konto

Jedynie zalogowani użytkownicy mogą odpowiadać w wątkach

Szybka rejestracja

Możesz także skorzystać z opcji szybkiej rejestracji za pomocą facebooka.



Wiadomości w tym wątku
RE: Pytanie odnośnie autobusów przegubowych oraz pociągów - przez krzychu124 - 15-07-2021, 16:46

Skocz do:


Użytkownicy przeglądający ten wątek: 2 gości