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

Recommended Posts

Posted

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...

Posted

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

Posted

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 

Posted (edited)

Ca exemplu de optimizare

Citat

//fara optimizare

new Float:health; 
for (new 
0MAX_PLAYERSi++) 
{ 
    if (
IsPlayerConnected(i)) 
    { 
        
GetPlayerHealth(ihealth); 
        
SetPlayerHealth(ihealth 10.0); 
    } 
 

Citat

//cu optimizare

new Float:health; 
for (new 
GetMaxPlayers()-1!= -1; --i) 
{ 
        if(!
IsPlayerConnected(i)) continue; 
    if (
GetPlayerHealth(ihealth)) SetPlayerHealth(ihealth 10.0); 
 

 

si tot asa mai departe pina ce o sa optimizezi tot modul?

Edited by #Yudin
Posted

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"); 
        } 
    } 
 

 

Posted
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

Posted
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 

Posted
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

Posted
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!

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.