Ir para conteúdo

Featured Replies

Postado

o otx2 realmente tem um problema com uso de cpu? pois tudo que fiz para otimixar meu pack reduziu a cada player usar cerca de 1% de cpu. como por exemplo , é como se cada player usa-se 1% logo 100 online 100%

porem ainda nao vi de fato se é isso , porque ele roda mais ou menos 10% abaixo da quantia de player, porem antigamente , 1 player usava cerca de 2-3% da cpu!

depois de tudo que alterei! cheguei nesses 1% 

porem apartir dai! depois de rever todos codigos, e diminui-los a ponto deles usarem somente o necessario das linhas uteis!

eu nao sei mais , se é minha source, ou se é o data. pq até datas de ots como Realbaiak feito pelo vitor bertoluccci (ACREDITO SER O MELHOR PACK QUE POSSUO) 

consome o mesmo! 

entt presumo que seja , ou o proprio distro com suas sources! ou libs ou versao de ubuntu !

algo deve estar errado! ou sou um CABAÇO 

me ajudem porfavor! 

 

uso uma maquina VPS da OVH 12GB RAM 50GB SSD intel xeon 4X 2.66 GHZ

@WooX

 

Resolvido por WooX

Ir para solução
  • Respostas 13
  • Visualizações 1.6k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Sim, há diferença entre uma VPS virtualizada com CPU de 2.6GHz e outra com um i7 ou Ryzen da vida que alcança seus 5.0GHz, você não precisa de fato migrar para um dedicado se não tem condição, mas bus

Postado

@Wesleyt10 

Aqui estão algumas sugestões (por enquanto):
• Instale uma ferramenta de criação de perfil (preferably perf). Isso ajudará você a analisar o processo OTX e determinar qual função chama de hogs a CPU.
• Use um tipo de compilação diferente, ou seja, RelWithDebInfo em vez de Release.
• Coisas a serem de verificadas: Loops infinitos, uso inadequado de addEvent(s) e Velocidade de Ataque muito rápida.

 

Se puder me enviar a função spell da otx,fica na pasta lib

Tenta remover as  tags de spells xml  e ver se melhora.

Postado
  • Autor

sobre mudar o modo de compilaçao , onde eu altero isso? pois minha compilaçao é em linux .

quando utilizei o perf o maior consumo vem das funçoes spectators::map algo assim!

sobre o data , nao há loops registrados, e sobre a funçao de add events . as que possuo no meu data , nao sao solicitadas sempre , sao poucas scripts que solicitam essa funçao. quase nao ocorre , vou verificar melhor.

bom ! olhei novamente as funçoes de addevent

e elas sao muitas . porem sao solicitadas poucas veses , e nao acredito que seja mau uso delas. pois sao scripts confiaveis! e aparentemente estao bem resumidos e bem escritos (OBS meu conhhecimento em lua é bem basico).

 

acredito que seja algo com relaçao a compilaçao , porque possuo varios datapacks, e todos consomem a cpu, e consomem até mais doque esse data que eu fui tentando melhorar!

o arquivo abaixo:

spells.lua

Postado

  

@Wesleyt10 

Spoiler
6 minutos atrás, Wesleyt10 disse:

sobre mudar o modo de compilaçao , onde eu altero isso? pois minha compilaçao é em linux .

quando utilizei o perf o maior consumo vem das funçoes spectators::map algo assim!

sobre o data , nao há loops registrados, e sobre a funçao de add events . as que possuo no meu data , nao sao solicitadas sempre , sao poucas scripts que solicitam essa funçao. quase nao ocorre , vou verificar melhor.

bom ! olhei novamente as funçoes de addevent

e elas sao muitas . porem sao solicitadas poucas veses , e nao acredito que seja mau uso delas. pois sao scripts confiaveis! e aparentemente estao bem resumidos e bem escritos (OBS meu conhhecimento em lua é bem basico).

 

acredito que seja algo com relaçao a compilaçao , porque possuo varios datapacks, e todos consomem a cpu, e consomem até mais doque esse data que eu fui tentando melhorar!

o arquivo abaixo:

spells.lua 2 kB · 0 downloads

 

Acredito que não seja este o script, deveria ser o script que aponta para as funções onCastSpell/onCastTimer

 

Tente compilar com este comando no terminal deve funcionar.

Citar

ccmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo

 

Deve ser parecido com este

Citar

 

Spoiler


local iterations = 10
local exhaustTime = 1.25 * iterations

-- you should edit the return value keeping "i" in formula
function castTimer(i)
    return 1 + ((i-1) * 225)
end

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_HITCOLOR, COLOR_TEAL)
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 156-1)
function onTargetCreature(cid, target)
    if not isPlayer(cid) then
        return true
    end
    min = (getPlayerLevel(cid) * 5 + getPlayerMagLevel(cid) * 50) * 6
    doTargetCombatHealth(cid, target, COMBAT_PHYSICALDAMAGE, -min, -min, CONST_ME_BLOCKHIT)
    return true
end

setCombatCallback(combat, CALLBACK_PARAM_TARGETCREATURE, "onTargetCreature")
local function castSpell(x)
    if isPlayer(x.cid) then
        -- delete the event from the event table
        -- as soon as we execute this section of the script
        x.event[x.counter] = nil
        return doCombat(x.cid, x.combat, x.var)
    end
    -- make an attempt to stop the events if the player is no longer online or dead
    if next(x.event) then
        for n, event in pairs(x.event) do
            if x.event[n] then
                -- stop the event if its stored
                stopEvent(event)
                x.event[n] = nil
            end
        end
    end
    return false
end
function onCastSpell(cid, var)
    if BlockSpellsInArea(cid) then
        doPlayerSendCancel(cid, "Não pode usar Spells neste local..")
        return false
    end
   
    if exhaustion.check(cid, 0010) == TRUE then
        doPlayerSendCancel(cid, "You are exhauted.")
        doSendMagicEffect(getCreaturePosition(cid), 2)
        return false
    end
   
    p = {cid = cid, var = var, combat = combat, event = {}, counter = 0}
    exhaustion.set(cid, 0010, exhaustTime)
    for k = 1, iterations do
        addEvent(function()
            if isCreature(cid) then
                p.counter = k
                p.event[k] = addEvent(castSpell, 1, p)
            end
        end,
        castTimer(k))
    end
    return true
end

 

 

 

 

  • Erimyth mudou o título para Linux - Uso alto da CPU [OTX]
Postado
  • Autor

desculpe esse arquivo fica na pasta Spells ou na pasta lib? 

 

sobre o: 

ccmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo

 

vou começar a compilar com esse comando para ver e lhe informo!

 

Visitante
Este tópico está impedido de receber novos posts.

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo