Profiler wydajności

  • Profiler wydajności
  • Profiler wydajności
  • Profiler wydajności
Siemanek
75 subskrybentów
V1.0.0.0
341

To jest mod we wczesnej fazie rozwoju, a nie samodzielne oprogramowanie

Niska lub niestabilna liczba FPS przy dużej liczbie modów? Zanim zaczniesz losowo usuwać mody, wykonaj pomiary.

Perf Profiler mierzy główny wątek Lua gry od wewnątrz i co 20 sekund zapisuje czytelny ranking w pliku log.txt:

- Który MOD kosztuje najwięcej milisekund na klatkę
- Która FUNKCJA w jego wnętrzu (hooki, listenery, specjalizacje pojazdów/placeable, systemy gry)
- Jaka część klatki przypada na Lua, a jaka na silnik (renderowanie, fizyka, wczytywanie)
- Każdy SKOK (klatka powyżej 40 ms) wraz z głównymi przyczyniającymi się elementami, oznaczony jako LUA lub ENGINE

Prawdziwy przykład z zapisu gry zawierającego 2489 modów: skrypty zajmowały tylko około 4 ms z około 19-milisekundowej klatki. Kosztowna część znajdowała się gdzie indziej, a profiler pokazał to w 20 minut zamiast po tygodniu prób i błędów.

CO MIERZY
- hook: funkcje dołączone przez mody (Utils.appendedFunction / prependedFunction / overwrittenFunction)
- ovr: funkcje nadpisane przez specjalizacje, według nazwy
- mod: update()/draw() listenerów zdarzeń modów
- spec: onUpdate / onUpdateTick / onPostUpdate / onDraw specjalizacji pojazdów, obiektów placeable i narzędzi ręcznych
- veh: / plc: pełna aktualizacja każdego pojazdu i obiektu placeable
- sys: systemy gry (środowisko, SI, ruch drogowy, woda, gospodarka...)
- frame: całkowita ilość Lua na klatkę - podział na skrypty i silnik
Każdy wpis pokazuje czas „self” (bez podwójnego zliczania) oraz czas „incl” (ze wszystkim, co jest zagnieżdżone).

JAK UŻYWAĆ
1. Umieść AAA_PerfProfiler.zip w folderze modów i aktywuj go w zapisie gry.
Zachowaj nazwę - „AAA_” sprawia, że mod ładuje się jako pierwszy, czego potrzebuje do przechwytywania hooków innych modów.
2. Graj normalnie. Pierwsze 20 sekund po wczytaniu jest pomijane.
3. Odczytaj wiersze [PerfProfiler] w pliku log.txt (Documents/My Games/FarmingSimulator2025/log.txt).

KOMENDY KONSOLI (~)
ppReport - zapisz raport teraz
ppReset - zresetuj statystyki (mierz osobno noc, deszcz i pracę na polu)
ppStart / ppStop - wznów / wstrzymaj pomiar
ppSpike <ms> - próg skoku (domyślnie 40)
ppTop <n> - długość rankingu (domyślnie 35)
ppInterval <s> - interwał raportów (domyślnie 20)

WARTO WIEDZIEĆ
- To narzędzie testowe. Pomiar kosztuje około 0,5 ms na klatkę, więc po zakończeniu usuń je z gry.
- Nie zmienia niczego w zapisie gry ani w rozgrywce. Tylko mierzy czas wykonywania funkcji i zapisuje wyniki.
- Mierzy Lua głównego wątku. Część silnikowa (renderowanie, fizyka) jest wyświetlana jako czas „engine” oraz skoki ENGINE.
- Tryb wieloosobowy: obsługiwany. Jak w przypadku każdego moda, każdy gracz musi mieć ten sam plik, jeśli host ma go aktywnego.
- Pełna dokumentacja (README.md) z wyjaśnieniem każdej linii logu znajduje się w archiwum zip.

WERSJA
1.2.2.0

AUTOR
Siemanek

LICENCJA
MIT - można swobodnie używać, modyfikować i udostępniać. Mile widziane jest podanie autora.

serwer
Konsole
Dziennik zmian
1
Kredyty
Uwagi
0