Gabriel03 Posted January 6, 2019 Posted January 6, 2019 Salut! Am editat un gamemode burned, destul de mult insa am o mica problema: Optimizarile! Am sters sistemul de CS:GO, am lasat doar paintball-ul am schimbat if-urile cu switchurile am micsorat stringurile insa tot nu este de ajuns... Uneori sunt si 170 de tickuri pe server la cateva persoane ( Chestia asta tine si de host ce-i drept, care mi-a facut nervi in ultimele zile ) si as dorii sa stiu ce optimizari sa ii mai fac, ce sa mai sterg din el, etc...
Gabriel03 Posted January 6, 2019 Author Posted January 6, 2019 T/C, exista deja un topic, nu mi-am dat seama!
Banditul Posted January 6, 2019 Posted January 6, 2019 170 tick e un numar decent pentru un gm rpg care poate ajunge imens Foloseste profiler plugin si vezi ce parti sunt procesate greu Sau poti reface gm in C++/C# daca consideri ca pawn e prea incet
khain.dev Posted January 6, 2019 Posted January 6, 2019 As recomanda sa schimbi structura modului,totodata ai putea lua si in vedere optimizarea comenzilor,trecerea la un nou procesor de comenzi ca de exemplu Pawn.CMD
khain.dev Posted January 6, 2019 Posted January 6, 2019 (edited) Ca exemplu de optimizare Citat //fara optimizare new Float:health; for (new i = 0; i < MAX_PLAYERS; i++) { if (IsPlayerConnected(i)) { GetPlayerHealth(i, health); SetPlayerHealth(i, health + 10.0); } } Citat //cu optimizare new Float:health; for (new i = GetMaxPlayers()-1; i != -1; --i) { if(!IsPlayerConnected(i)) continue; if (GetPlayerHealth(i, health)) SetPlayerHealth(i, health + 10.0); } si tot asa mai departe pina ce o sa optimizezi tot modul Edited January 6, 2019 by #Yudin
khain.dev Posted January 6, 2019 Posted January 6, 2019 Uite ceva si cu dialogurile si anume tabulitia Citat //fara optimizare if(dialogid == 100) { if(response) { if(listitem == 0) { printf("1"); } if(listitem == 1) { printf("1"); } if(listitem == 2) { printf("1"); } if(listitem == 3) { printf("2"); } if(listitem == 4) { printf("3"); } if(listitem == 5) { printf("4"); } } } Citat //cu optimizare if(dialogid == 1) { if(response) { if(listitem == 0) { printf("1"); } if(listitem == 1) { printf("1"); } if(listitem == 2) { printf("1"); } if(listitem == 3) { printf("2"); } if(listitem == 4) { printf("3"); } if(listitem == 5) { printf("4"); } } } if(dialogid == 2) { if(response) { if(listitem == 0) { printf("1"); } if(listitem == 1) { printf("2"); } if(listitem == 2) { printf("3"); } } }
Banditul Posted January 6, 2019 Posted January 6, 2019 Acum 12 minute, #Yudin a spus: Ca exemplu de optimizare si tot asa mai departe pina ce o sa optimizezi tot modul De ce nu for(new i = 0, j = GetPlayerPoolSize(); i < j; i++); Sau chiar foreach(new i : Players) Ca sa nu fie nevoie sa faci loop prin toate sloturile. Daca ai 1000 slots si 50 playeri on nu ar avea logica sa faci loop de 1000 si sa gasesti doar 50 playeri on
Gabriel03 Posted January 6, 2019 Author Posted January 6, 2019 6 hours ago, #Yudin said: As recomanda sa schimbi structura modului,totodata ai putea lua si in vedere optimizarea comenzilor,trecerea la un nou procesor de comenzi ca de exemplu Pawn.CMD Am Pawn.CMD de cateva luni si chiar este foarte bun
Gabriel03 Posted January 6, 2019 Author Posted January 6, 2019 6 hours ago, Banditul said: De ce nu for(new i = 0, j = GetPlayerPoolSize(); i < j; i++); Sau chiar foreach(new i : Players) Ca sa nu fie nevoie sa faci loop prin toate sloturile. Daca ai 1000 slots si 50 playeri on nu ar avea logica sa faci loop de 1000 si sa gasesti doar 50 playeri on Pai da, nu ma complic cu for loop-uri pt playeri
Gabriel03 Posted January 6, 2019 Author Posted January 6, 2019 6 hours ago, Banditul said: 170 tick e un numar decent pentru un gm rpg care poate ajunge imens Foloseste profiler plugin si vezi ce parti sunt procesate greu Sau poti reface gm in C++/C# daca consideri ca pawn e prea incet Am pus profiler pe gamemode insa mi se pare prea complicat sa il refac in c#, multumesc oricum!
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now