Jump to content
Autentificarea cu Google și Facebook nu mai este disponibilă. ×

Recommended Posts

Posted (edited)
Acum 14 minute, [email protected] a spus:

E un plugin pe .com cu care poti testa de cate ori este folosita o functie si cat dureaza sa fie executata: http://forum.sa-mp.com/showthread.php?t=271129
Folosind acel plugin si GetServerTickRate poti sa iti dai seama ce ar trebui sa optimizezi si daca e nevoie sa optimizezi ceva.

Daca vrei sa optimizezi ceva, cred ca ar trebui sa te uiti la time, nu if/switch sau marimea array-urilor, tipul de variabile utilizate sau ZCMD vs Y_CMD. 
Dar optimizarea cand ai 50-100-200 playeri online nu prea conteaza daca e gazduit pe un host ok. 
 

E chiar foarte util, l-am folosit pe vremea cand era abia lansat si iti poti face usor o idee despre serverul tau. Tin sa te contrazic si sa-ti zic ca daca folosesti un plugin pentru comenzi o sa maresti performantele ;) Se recomanda chiar si pe samp wiki sa folosesti switch in loc de if/else asa ca mai bine nu posta aici :)

Edited by SoNNy.sys

Sinner.png

Posted
13 minutes ago, SoNNy.sys said:

E chiar foarte util, l-am folosit pe vremea cand era abia lansat si iti poti face usor o idee despre serverul tau. Tin sa te contrazic si sa-ti zic ca daca folosesti un plugin pentru comenzi o sa maresti performantele ;) Se recomanda chiar si pe samp wiki sa folosesti switch in loc de if/else asa ca mai bine nu posta aici :)

N-am zis ca nu ar face o diferenta, dar diferenta e atat de mica incat nu conteaza. E 2017. Nu avem servere cu 32Mb de rami si procesor de 200Mhz. Nu e nevoie sa optimizezi orice.
E o diferenta dintre teoria de pe wiki-ul sa:mp/benchmark-uri si realitate.

Tu folosesti mereu switch in loc de if si crezi ca e vreo diferenta pe server?

  • Upvote 1
Posted
Chiar acum, [email protected] a spus:

N-am zis ca nu ar face o diferenta, dar diferenta e atat de mica incat nu conteaza. E 2017. Nu avem servere cu 32Mb de rami si procesor de 200Mhz. Nu e nevoie sa optimizezi orice.
E o diferenta dintre teoria de pe wiki-ul sa:mp/benchmark-uri si realitate.

Tu folosesti mereu switch in loc de if si crezi ca e vreo diferenta pe server?

Fa-ti un test pe OnDialogResponse cu if-uri peste tot si dupa cu switch pe dialogid la vreo ~100 dialoguri si acceseaza-l pe ultimul. Hostul de sa-mp nu e dedicat serverului tau de samp, ai o anumita limita impusa. Daca tu consideri ca poti lasi asa cu else/if si cu zcmd si cu array-uri cu dimensiuni aiurea etc si o sa mearga la fel de bine te inseli. Am vazut zeci de server cu "mega deschidere" si la 100+ = desync de cate 2-3 secunde asa ca nu abera.

Sinner.png

Posted
29 minutes ago, SoNNy.sys said:

E chiar foarte util, l-am folosit pe vremea cand era abia lansat si iti poti face usor o idee despre serverul tau. Tin sa te contrazic si sa-ti zic ca daca folosesti un plugin pentru comenzi o sa maresti performantele ;) Se recomanda chiar si pe samp wiki sa folosesti switch in loc de if/else asa ca mai bine nu posta aici :)

Aici tin sa fiu de acord cu @[email protected], nu e necesar sa folosesti mereu switch, daca am doua valori de comparat, ce fac fac

new a = 5;

switch (a)
{
	case 5:
	{
		a = 1;
	}
	default:
	{
		a = 2;
	}
}

sau

new a = 5;

if (a == 5)
{
	a = 1;
}
else
{
	a = 2;
}

Daca ai mai multe chestii de comparat, da merge un switch.

Posted
Chiar acum, WopsS a spus:

Aici tin sa fiu de acord cu @[email protected], nu e necesar sa folosesti mereu switch, daca am doua valori de comparat, ce fac fac


new a = 5;

switch (a)
{
	case 5:
	{
		a = 1;
	}
	default:
	{
		a = 2;
	}
}

sau


new a = 5;

if (a == 5)
{
	a = 1;
}
else
{
	a = 2;
}

Daca ai mai multe chestii de comparat, da merge un switch.

Atata timp cat vorbim de optimizare nu ma refeream la exemplu tau. Consider ca daca ai sarit deja de 3 comparatii tre' sa intri pe switch pentru ca e mai util.

Sinner.png

Posted
1 minute ago, SoNNy.sys said:

Fa-ti un test pe OnDialogResponse cu if-uri peste tot si dupa cu switch pe dialogid la vreo ~100 dialoguri si acceseaza-l pe ultimul. Hostul de sa-mp nu e dedicat serverului tau de samp, ai o anumita limita impusa. Daca tu consideri ca poti lasi asa cu else/if si cu zcmd si cu array-uri cu dimensiuni aiurea etc si o sa mearga la fel de bine te inseli. Am vazut zeci de server cu "mega deschidere" si la 100+ = desync de cate 2-3 secunde asa ca nu abera.

Pai in cazul dialogurilor, switch e folosit pentru ca de-asta exista switch. Dar daca e o singura variabila de comparat, o sa folosesc mereu if pentru ca e mai usor de citit codul.
Si chiar si in cazul ala, nu cred ca o sa fie diferente mari de performanta pe un server cu 200 playeri online.

Si eu am vazut servere cu 1000 playeri online ce folosesc ZCMD si nu folosesc switch-uri peste tot fara motiv. 

Mega-deschiderile au probleme cu timere/callback-urile procesate des (gen OnPlayerUpdate) sau poate nici macar nu folosesc ZCMD.

Posted
5 minutes ago, SoNNy.sys said:

Atata timp cat vorbim de optimizare nu ma refeream la exemplu tau. Consider ca daca ai sarit deja de 3 comparatii tre' sa intri pe switch pentru ca e mai util.

Aha, am zis asta pentru ca am vazut pe cineva care folosea switch cu doua case-uri.

Posted

Repet, vorbim de optimizare...cazul lui WopsS e ala in care e mai ok if/else. Deja ce trece peste if() - else if() else scade in performanta fata de switch ;)

Sinner.png

Posted
Chiar acum, [email protected] a spus:

Pai in cazul dialogurilor, switch e folosit pentru ca de-asta exista switch. Dar daca e o singura variabila de comparat, o sa folosesc mereu if pentru ca e mai usor de citit codul.
Si chiar si in cazul ala, nu cred ca o sa fie diferente mari de performanta pe un server cu 200 playeri online.

Si eu am vazut servere cu 1000 playeri online ce folosesc ZCMD si nu folosesc switch-uri peste tot fara motiv. 

Mega-deschiderile au probleme cu timere/callback-urile procesate des (gen OnPlayerUpdate) sau poate nici macar nu folosesc ZCMD.

Si de unde ai avut tu gamemodeul alora care au 1000 de playeri online? de stii ca nu folosesc switch

  • Upvote 1

                        

 

 

Posted
5 minutes ago, WopsS said:

Aici tin sa fiu de acord cu @[email protected], nu e necesar sa folosesti mereu switch, daca am doua valori de comparat, ce fac fac


new a = 5;

switch (a)
{
	case 5:
	{
		a = 1;
	}
	default:
	{
		a = 2;
	}
}

sau


new a = 5;

if (a == 5)
{
	a = 1;
}
else
{
	a = 2;
}

Daca ai mai multe chestii de comparat, da merge un switch.

Lucrez in colaborare cu niste baietasi la un proiect si unul a scris niste verificari EXACT ca asta. Am ramas putin fara cuvinte, avand in vedere ca omul e student in domeniu. Inteleg sa fie preocupat de optimizare, dar in plm, un switch in loc de o verificare if-else arata urat rau.

  • Upvote 1
Posted
Chiar acum, Spmn a spus:

Lucrez in colaborare cu niste baietasi la un proiect si unul a scris niste verificari EXACT ca asta. Am ramas putin fara cuvinte, avand in vedere ca omul e student in domeniu. Inteleg sa fie preocupat de optimizare, dar in plm, un switch in loc de o verificare if-else arata urat rau.

pentru cateva ms mai putine, prefer sa scriu cu if si else,

                        

 

 

Posted
Acum 1 minut, Spmn a spus:

Lucrez in colaborare cu niste baietasi la un proiect si unul a scris niste verificari EXACT ca asta. Am ramas putin fara cuvinte, avand in vedere ca omul e student in domeniu. Inteleg sa fie preocupat de optimizare, dar in plm, un switch in loc de o verificare if-else arata urat rau.

Ne contrazicem aici pe if/switch si o groaza de server au sute de linii de cod sub "OnPlayerUpdate" si timere pentru orice cooldown sau bariere etc. :))

Sinner.png

Posted
Chiar acum, [email protected] a spus:

Am vazut 4 servere cu 1000 online ce folosesc ZCMD, nu folosesc switch peste tot si nu au probleme de desync. E ca si cum sunt lucruri mai importante de optimizat decat pluginul folosit pentru procesarea comenzilor, marimea array-urilor si tipul variabilelor. 

In exemplul tau, switch e folosit pentru ca de-asta exista switch. Ziceam doar ca nu are sens sa folosesti switch in loc de if (cum e in exemplul lui wopss) mereu pentru 'performanta'.

Serverele fantoma care pica la 100 online, pica pentru ca timere prost optimizate sau executa calcule complexe in callback-urile ce-s updatate des (OnPlayerUpdate). 

ba, de unde stii ca aia cu 4 servere folosesc if si nu switch? ai cumva gamemodeurile lor?

2.Bugged cand a bagat quest avea un lag imens, pentru ca Shad0w e un idiot, si a facut sa se roteasca obiectul indiferent daca esti langa el sau nu, trebuia sa puna ca daca esti langa el sa se roteasca, si daca nu sa nu se roteasca.

 

                        

 

 

Posted
Chiar acum, [email protected] a spus:

Vezi nickname-ul.

si chiar sunt sigur ca esti tu, serios?

Esti un afurisit de copil care se da drept el, si daca chiar ai fi tu, tot idiot esti mecanica ta pe server e ca in 2011.

                        

 

 

Posted
1 minute ago, [RW]Robi said:

2.Bugged cand a bagat quest avea un lag imens, pentru ca Shad0w e un idiot, si a facut sa se roteasca obiectul indiferent daca esti langa el sau nu, trebuia sa puna ca daca esti langa el sa se roteasca, si daca nu sa nu se roteasca.

 

Shad0w e un idiot, dar obiectele se rotesc doar daca esti aproape de ele. 

Implementarea obiectelor ascunse n-a fost prea buna, dar nu am avut timp sa rescriu mare parte din cod si l-am lasat asa.

Posted
Chiar acum, [email protected] a spus:

Shad0w e un idiot, dar obiectele se rotesc doar daca esti aproape de ele. 

Implementarea obiectelor ascunse n-a fost prea buna, dar nu am avut timp sa rescriu mare parte din cod si l-am lasat asa.

Mare parte din cod? e maxim 250 de lini ba deci nu cred, acum chiar am motive sa cred ca esti tu, Shad0w lenes toata ziua.

 

                        

 

 

Posted
Acum 1 minut, [RW]Robi a spus:

si chiar sunt sigur ca esti tu, serios?

Esti un afurisit de copil care se da drept el, si daca chiar ai fi tu, tot idiot esti mecanica ta pe server e ca in 2011.

Ce mecanica man, esti TheLink sub acoperire? =))

switch e ok de exemplu pe un caz de genul: http://imgur.com/e7i2LOS

 

Sinner.png

Posted (edited)

Lel

Flameul din chat s-a mutat in topicuri.

 

// LE:

@[email protected] mi-au zis niste baieti care se uita la liveuri ca mi-ai pus anticheatul la bookmarks

Edited by Spmn
blaah
Posted
Acum 2 minute, [email protected] a spus:

Shad0w e un idiot, dar obiectele se rotesc doar daca esti aproape de ele. 

Implementarea obiectelor ascunse n-a fost prea buna, dar nu am avut timp sa rescriu mare parte din cod si l-am lasat asa.

Am facut ceva de genul in timerul ce tine de jucator: http://imgur.com/a/fTPrx merge mai mult decat perfect si pot confirma chiar prin tick.

Sinner.png

Posted
Chiar acum, SoNNy.sys a spus:

Ce mecanica man, esti TheLink sub acoperire? =))

switch e ok de exemplu pe un caz de genul: http://imgur.com/e7i2LOS

 

recunoaste ca e veche.

prefer sa scriu

if(listitem == 0) { IdontLikeThisTopic(); } 

 

                        

 

 

Posted
Chiar acum, [email protected] a spus:

Shad0w e un idiot, dar obiectele se rotesc doar daca esti aproape de ele. 

Implementarea obiectelor ascunse n-a fost prea buna, dar nu am avut timp sa rescriu mare parte din cod si l-am lasat asa.

Ba, ai avut live fara mine fututi rasa-n cur?

 

                        

 

 

Posted
Chiar acum, [RW]Robi a spus:

recunoaste ca e veche.

prefer sa scriu


if(listitem == 0) { IdontLikeThisTopic(); } 

 

N-ai nevoie de acolade...un simplu TAB la IdontLikeThisTopic() pus sub if e destul.

 

Sinner.png

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.