Problem(error/warning): Moj mod kao mod je dosta pun, kako sa vozilima tako i sa mapama, sistemima i ostalo... Posle update-a na kome sam ubacio neke stvari, usao sam u server i odjednom pocelo je sve da secka, kao pomalo da laga, mislio sam da je do kompa, ali se ispostavilo da nije jer sam usao na SA i uopste nije lagalo... Sta da uradim da maksimalno optimizujem server, da smanjim lag, postoje li neki specijalni pluginsi za to?
Dio skripte: //
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): //
Slika/video ingame problema(obavezno ako je ingame problem): //
Smanjuj stringove na onliko koliko ti treba na nekim mijestima vjv ti je i nepotreban za mape koristi optidraw
https://forum.sa-mp.com/showthread.php?t=580289
https://forum.sa-mp.com/showthread.php?t=583472
Tenks! :D
Jos neko?
Za proveru perfomansi servera mozes koristiti plugin profiler koji ce ti dati tacan pregled izvrsavanja.
Optimizacija je sama po sebi jedna obimna tema i tesko je pokriti sve stvari.
• Smanji ponavljanje i visak koda i pokusaj da koristis sto je manje memorije moguce.
• Nemoj koristiti globalne promenljive ukoliko to nije potrebno.
• Promeni nacin cuvanja podataka(ako vec nisi) barem na SQLite ili MySQL.
• Izbaci stare include fajlove i plugine ako ih koristis i pronadji novije, up to date, sa boljom podrskom...
• Smanji dodeljenu memoriju stringovima ili koristi dinamicne PawnPlus stringove.
• Ukloni tajmere koje ne koristis ili koji bi mogli da se smeste u neki drugi tajmer.
• Lag pri kretanju kroz mapu bi ti moglo stvarati previse objekata koje si dodao i koji se konstanto loaduju dok ti prolazis.
• Pokusaj izbaciti beskorisne provere ili nadji bolju i noviju zamenu istima.
• Pokusaj vise koristiti iteratore i smanji vreme petlji kojima treba vise vremena.
• Kod nekih matematickih provera mozes poboljsati uslove da ne mora da racuna ako vec ne treba.
• Nemoj koristiti filterskripte ukoliko bas ne moras(ne odnosi se na male filterskripte).
• Izbaci nepotreban kod iz OnPlayerUpdate i ako bas moras da ostavis, stavi taj kod u neki sporiji tajmer.
• Izbaci ulogovan provere i IsPlayerConnected, jer ulogovan proveru mozes staviti u OnPlayerText a IPC zameniti sa proverom promenljive: if(playerid == INVALID_PLAYER_ID)
• Kada radis na modu i ne planiras jos da ga pustis u rad koristis -d3 parametar dok u release verziji koristi -d2 zbog dodatnih code optimizacija.
• Kada pravis promenljivu na primer u nekoj funkciji i neces je koristiti u svim uslovima onda nju pravi samo u tom uslovu u kom koristis tu istu promenljivu.
• Nemoj koristiti tabsize u pragma direktivi i drzi kod urednim.
• Ako koristis default tajmere mozes skinuti timerfix ili preci na y_timers.
• Pokusaj izbeci bespotrebna formatiranja poruka.
Citat: algorhitmically poslato April 03, 2020, 00:28:38 PRE PODNE
Za proveru perfomansi servera mozes koristiti plugin profiler koji ce ti dati tacan pregled izvrsavanja.
Optimizacija je sama po sebi jedna obimna tema i tesko je pokriti sve stvari.
• Smanji ponavljanje i visak koda i pokusaj da koristis sto je manje memorije moguce.
• Nemoj koristiti globalne promenljive ukoliko to nije potrebno.
• Promeni nacin cuvanja podataka(ako vec nisi) barem na SQLite ili MySQL.
• Izbaci stare include fajlove i plugine ako ih koristis i pronadji novije, up to date, sa boljom podrskom...
• Smanji dodeljenu memoriju stringovima ili koristi dinamicne PawnPlus stringove.
• Ukloni tajmere koje ne koristis ili koji bi mogli da se smeste u neki drugi tajmer.
• Lag pri kretanju kroz mapu bi ti moglo stvarati previse objekata koje si dodao i koji se konstanto loaduju dok ti prolazis.
• Pokusaj izbaciti beskorisne provere ili nadji bolju i noviju zamenu istima.
• Pokusaj vise koristiti iteratore i smanji vreme petlji kojima treba vise vremena.
• Kod nekih matematickih provera mozes poboljsati uslove da ne mora da racuna ako vec ne treba.
• Nemoj koristiti filterskripte ukoliko bas ne moras(ne odnosi se na male filterskripte).
• Izbaci nepotreban kod iz OnPlayerUpdate i ako bas moras da ostavis, stavi taj kod u neki sporiji tajmer.
• Izbaci ulogovan provere i IsPlayerConnected, jer ulogovan proveru mozes staviti u OnPlayerText a IPC zameniti sa proverom promenljive: if(playerid == INVALID_PLAYER_ID)
• Kada radis na modu i ne planiras jos da ga pustis u rad koristis -d3 parametar dok u release verziji koristi -d2 zbog dodatnih code optimizacija.
• Kada pravis promenljivu na primer u nekoj funkciji i neces je koristiti u svim uslovima onda nju pravi samo u tom uslovu u kom koristis tu istu promenljivu.
• Nemoj koristiti tabsize u pragma direktivi i drzi kod urednim.
• Ako koristis default tajmere mozes skinuti timerfix ili preci na y_timers.
• Pokusaj izbeci bespotrebna formatiranja poruka.
Auu hvala puno cobraa!
Citat: Lestra_Dev poslato April 02, 2020, 14:25:31 POSLE PODNE
Smanjuj stringove na onliko koliko ti treba na nekim mijestima vjv ti je i nepotreban za mape koristi optidraw