Skocz do zawartości

Rekomendowane odpowiedzi

Siema,

Zrobiłem prosty skrypt .bat, który automatycznie przygotowuje system i MTA do gry, żeby wyciągnąć jak największą płynność i wyeliminować spadki FPS-ów (stuttering).

W przeciwieństwie do większości skryptów z sieci, ten nie kasuje bindów, ustawień ani polskich znaków na czacie.








Co robi ten skrypt?
 

  • Czyszczenie w tle – Ubija zawieszone procesy GTA/MTA, czyści stare logi i odświeża DNS (ipconfig /flushdns).

  • Koligacja rdzeni (CPU 1 + CPU 2) – Wymusza działanie gry na dwóch rdzeniach i omija rdzeń CPU 0, na którym działa Windows. Dzięki temu nie ma ścinek, gdy system coś robi w tle.

  • Priorytet High – Automatycznie daje procesowi gta_sa.exe wysoki priorytet w systemie.

  • Smart Edit Grafik – Wyłącza w pliku konfiguracyjnym tylko zbędne bajery (Post-FX, trawę, rozmycie), nie dotykając Twoich klawiszy i ustawień konta.

 




 

Instrukcja krok po kroku:
 

  1. Kliknij prawym przyciskiem myszy na Pulpicie -> Nowy -> Dokument tekstowy.

  2. Wklej cały powyższy kod ze skryptem.

  3. Ważne: Sprawdź linijkę set "MTA_DIR=D:\MTA3" – jeśli masz MTA w innym miejscu (np. C:\Program Files\MTA), podmień tę ścieżkę na swoją.

  4. Kliknij Plik -> Zapisz jako....

  5. W polu Zapisz jako typ wybierz Wszystkie pliki (.).

  6. Nazwij plik MTA_Optimizer.bat i kliknij Zapisz. - Ważne by było .bat

  7. Odpalaj grę zawsze klikając na ten plik prawym przyciskiem myszy i wybierając Uruchom jako administrator.

 

Pamiętajcie tylko, żeby w linijce set "MTA_DIR=D:\MTA3" wpisać swoją własną ścieżkę do folderu z MTA, jeśli macie zainstalowane w innym miejscu.

Pozdro, Desola7e



 

Wskazówka dla słabszych komputerów (3 rdzenie dla gry):
 

Jeśli masz słabszy procesor (np. 4-rdzeniowy) i chcesz, żeby MTA działało na 3 rdzeniach (CPU 1 + CPU 2 + CPU 3), zmień w kodzie skryptu dwie rzeczy:

  1. Podmień parametr (możesz użyć ctrl+f do wyszukania!) /affinity 0x6 na /affinity 0xE

  2. W linijce z PowerShell podmień $_.ProcessorAffinity = 6; na $_.ProcessorAffinity = 14;

Dzięki temu system i programy w tle dalej zostają na CPU 0, a gra dostaje maksymalną moc z reszty procesora.


Kod skryptu: 
 

@echo off
title MTA Optimizer Monitor - Desola7e (2 Cores No-CPU0)
color 07

:: --- KONFIGURACJA ---
set "MTA_DIR=D:\MTA3"
set "DATA_DIR=C:\ProgramData\MTA San Andreas All\1.6"
set "CFG_FILE=coreconfig.xml"
set "FULL_PATH=%MTA_DIR%\MTA\config\%CFG_FILE%"

echo ======================================================
echo    MTA OPTIMIZER MONITOR - BY DESOLA7E
echo ======================================================
echo.

:: --- CZYSZCZENIE SYSTEMU ---
echo [+] Zamykanie starych procesow...
taskkill /f /im "Multi Theft Auto.exe" 2>nul
taskkill /f /im "gta_sa.exe" 2>nul

echo [+] Odswiezanie sieci (DNS)...
ipconfig /flushdns >nul

echo [+] Czyszczenie logow MTA...
del /s /q "%MTA_DIR%\MTA\logs\*.log" 2>nul
echo.

:: --- ODBLOKOWANIE ATRYBUTOW ---
attrib -r -s -h "%FULL_PATH%" 2>nul
attrib -r -s -h "%DATA_DIR%\%CFG_FILE%" 2>nul

:: --- POBRANIE NAJNOWSZYCH BINDOW Z PROGRAMDATA ---
if exist "%DATA_DIR%\%CFG_FILE%" (
    echo [+] Pobieranie aktualnych bindow zapisanych przez gre...
    copy /y "%DATA_DIR%\%CFG_FILE%" "%FULL_PATH%" >nul
)

:: --- OPTYMALIZACJA CONFIGU ---
echo [+] Wylaczanie Post-FX i Grass (Smart Edit)...
powershell -Command ^
    "$path='%FULL_PATH%'; " ^
    "if (Test-Path $path) { " ^
    "  $xml=[xml](Get-Content $path); " ^
    "  if ($xml.mainconfig.settings) { " ^
    "    $s = $xml.mainconfig.settings; " ^
    "    if ($s.blur) { $s.blur='0' }; " ^
    "    if ($s.grass) { $s.grass='0' }; " ^
    "    if ($s.heat_haze) { $s.heat_haze='0' }; " ^
    "    if ($s.post_fx_level) { $s.post_fx_level='0' }; " ^
    "    if ($s.volumetric_shadows) { $s.volumetric_shadows='0' }; " ^
    "    if ($s.fx_quality) { $s.fx_quality='0' }; " ^
    "    if ($s.streaming_memory) { $s.streaming_memory='1024' }; " ^
    "    $xml.Save($path); " ^
    "  } " ^
    "}"

echo [+] Synchronizacja ustawien...
copy /y "%FULL_PATH%" "%DATA_DIR%\%CFG_FILE%" >nul

:: Ostateczne upewnienie sie, ze plik pozostaje otwarty do zapisu
attrib -r -s -h "%FULL_PATH%" 2>nul
attrib -r -s -h "%DATA_DIR%\%CFG_FILE%" 2>nul
echo.

:: --- URUCHOMIENIE (CPU 1 + CPU 2 -> affinity 0x6) ---
echo [+] Startowanie MTA w trybie High Priority (CPU 1 i CPU 2)...
D:
cd /d "%MTA_DIR%"
start /high /affinity 0x6 "" "Multi Theft Auto.exe" --noshader --postfx-disable --no-grass --fast-start
echo.

:: --- PETLA MONITORUJACA ---
echo [!] OCZEKIWANIE NA WEJSCIE DO GRY...
echo [!] To okno automatycznie wykryje moment startu gta_sa.exe.
echo.

:WAIT_FOR_GTA
tasklist /FI "IMAGENAME eq gta_sa.exe" 2>nul | find /I /N "gta_sa.exe" >nul
if "%ERRORLEVEL%"=="0" (
    echo ------------------------------------------------------
    echo [+] WYKRYTO SILNIK GRY!
    echo [+] Nadawanie priorytetu i koligacji rdzeni (CPU1 + CPU2)...
    
    powershell -Command "Get-Process gta_sa -ErrorAction SilentlyContinue | ForEach-Object { $_.ProcessorAffinity = 6; $_.PriorityClass = 'High' }"
    
    echo [+] WSZYSTKIE OPTYMALIZACJE ZOSTALY ZALADOWANE.
    echo ------------------------------------------------------
    goto FINAL
) else (
    timeout /t 2 >nul
    goto WAIT_FOR_GTA
)

:FINAL
echo.
echo [INFO] Skrypt zakonczyl prace. Mozesz teraz grac.
echo [INFO] OKNO NIE ZAMKNIE SIE SAMOCZYNNIE.
echo.
echo Signed by: Desola7e
echo ======================================================
pause

 

Edytowane przez Desola7e
Odnośnik do komentarza
https://forum.socialproject.pl/topic/220-mta-optimizer-v30-%E2%80%93-wi%C4%99cej-fps-koligacja-rdzeni/
Udostępnij na innych stronach

  • Desola7e zmienił/a tytuł na MTA Optimizer v3.0 – Więcej FPS, koligacja rdzeni.

Przechodząc od początku pliku batch:
 

Cytat
ipconfig /flushdns >nul

 

Użytkownikom ze słabszym internetem taka ingerencja może się nie spodobać, ta komenda czyści cache DNS który zawiera adresy IP stron internetowych przez co nasza sieć nie musi ponownie "pytać" się dostawcy DNS o to pod jakim adresem IP się znajduje, co może przyczynić się u części użytkowników problemy z szybkim ładowaniem stron internetowych.

 

Cytat
del /s /q "%MTA_DIR%\MTA\logs\*.log" 2>nul

Logi gry nie są nigdzie nigdy odczytywane, a ich usuwanie nie powoduje żadnego boostu FPS i nigdy powodować nie będzie
 

Cytat
attrib -r -s -h "%FULL_PATH%" 2>nul
attrib -r -s -h "%DATA_DIR%\%CFG_FILE%" 2>nul

Taka ingerencja nijak nie zwiększa nam FPS a MTA samo w sobie może wykryć to jako "ingerencję w pliki klienta" i może powodować automatycznego globalbana.

 

Cytat
powershell -Command ^
    "$path='%FULL_PATH%'; " ^
    "if (Test-Path $path) { " ^
    "  $xml=[xml](Get-Content $path); " ^
    "  if ($xml.mainconfig.settings) { " ^
    "    $s = $xml.mainconfig.settings; " ^
    "    if ($s.blur) { $s.blur='0' }; " ^
    "    if ($s.grass) { $s.grass='0' }; " ^
    "    if ($s.heat_haze) { $s.heat_haze='0' }; " ^
    "    if ($s.post_fx_level) { $s.post_fx_level='0' }; " ^
    "    if ($s.volumetric_shadows) { $s.volumetric_shadows='0' }; " ^
    "    if ($s.fx_quality) { $s.fx_quality='0' }; " ^
    "    if ($s.streaming_memory) { $s.streaming_memory='1024' }; " ^
    "    $xml.Save($path); " ^
    "  } " ^
    "}"

Są to opcje, które dosłownie możemy wyłączyć w ustawieniach gry i zostanie to zapamiętane, więc nie wymagają żadnego launchera aby wyłączać je za każdym razem.

 

Cytat
echo [+] Startowanie MTA w trybie High Priority (CPU 1 i CPU 2)...
D:
cd /d "%MTA_DIR%"
start /high /affinity 0x6 "" "Multi Theft Auto.exe" --noshader --postfx-disable --no-grass --fast-start
echo.

Taka opcja znajduje się już w MTA do włączenia w ustawieniach pod nazwą "Ustaw zalecaną koaligację procesora, aby zwiększyć wydajność w grze"

 

Sam plik wygląda jak sklejka losowych komend wygenerowanych przez AI, które nie mają związku z poprawą FPS w grze, a dodatkowo mogą grę utrudnić. Poradnik odrzucam.

  • Super 1
Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...