Jump to content

Duda con element Data


-Rex-

Recommended Posts

Bueno como dicen algunos en el foro, Que los elementData ocupan muchos recursos.

Pensaba que en vez de usar setElementData, se pueda Almacenar todo en una tabla.

Y quisiera saber que ocupa mas recursos, Usar setElementData para guardar Datos o Usar Tablas?

PD: Estoy tratando de optimizar mi DayZ :)

Link to comment

los elementData consumen cpu porque tiene que sincronizarse ambos lados (cliente y servidor), pero al usar setElementData hay un argumento que funciona para manipular esa sincronización, si lo pasas a false solamente el valor va ser asignado en el lado donde está y no podrá leerse el dato desde el otro lado. Al usar tabla es lo mismo que setElementData sin haberse sincronizado.

setElementData(element, "dataname", toJSON({"valor1", "valor2", "valor3"}), false) 
-- ó 
tabla = {"valor1", "valor2", "valor3"} 

Link to comment
los elementData consumen cpu porque tiene que sincronizarse ambos lados (cliente y servidor), pero al usar setElementData hay un argumento que funciona para manipular esa sincronización, si lo pasas a false solamente el valor va ser asignado en el lado donde está y no podrá leerse el dato desde el otro lado. Al usar tabla es lo mismo que setElementData sin haberse sincronizado.
setElementData(element, "dataname", toJSON({"valor1", "valor2", "valor3"}), false) 
-- ó 
tabla = {"valor1", "valor2", "valor3"} 

Entonces eso significa, que saldría lo mismo usando tablas?

Link to comment
los elementData consumen cpu porque tiene que sincronizarse ambos lados (cliente y servidor), pero al usar setElementData hay un argumento que funciona para manipular esa sincronización, si lo pasas a false solamente el valor va ser asignado en el lado donde está y no podrá leerse el dato desde el otro lado. Al usar tabla es lo mismo que setElementData sin haberse sincronizado.
setElementData(element, "dataname", toJSON({"valor1", "valor2", "valor3"}), false) 
-- ó 
tabla = {"valor1", "valor2", "valor3"} 

Entonces eso significa, que saldría lo mismo usando tablas?

Si, salvo que al usar el método de setElementData que te di tendrías que llamar dos funciones al momento de leer la tabla, getElementData y fromJSON. es mas practico y eficiente para mi usar tablas comunes

Link to comment
Usar setElementData, con una tabla si tiene bastantes datos no creo sea conveniente.

Esto se debe a que cuando se setea un dato ya sea en el cliente o el servidor, se sincronizan.

Y por ende consume un ancho de banda, y si no es nada ligero, no será conveniente.

Para eso esta la opción de activar o desactivar dicha sincronización.

Link to comment

Yo uso los elementData para cosas pequeñas (valores numéricos más que nada), aunque si lo quieres optimizado, usa tablas, es bastante recomendable. Yo las uso de esta forma:

local p = { } 
  
-- Cuando entra, por ejemplo 
  
p[ player ].sed = tonumber( sed ) 
p[ player ].hambre = tonumber( hambre ) 
  
-- Get valores 
  
function getSed( player ) 
    if player then 
        local sed = p[ player ].sed 
        if sed then 
            return sed 
        end 
        return false 
    end 
    return false 
end 
  
function getHambre( player ) 
    if player then 
        local hambre = p[ player ].hambre 
        if hambre then 
            return hambre 
        end 
        return false 
    end 
    return false 
end 
  

Link to comment

Para que tantos return? Basta con uno.

local p = { } 
  
-- Cuando entra, por ejemplo 
  
p[ player ].sed = tonumber( sed ) 
p[ player ].hambre = tonumber( hambre ) 
  
-- Get valores 
  
function getSed( player ) 
    if player then 
        local sed = p[ player ].sed 
        if sed then 
            return sed 
        end 
    end 
end 
  
function getHambre( player ) 
    if player then 
        local hambre = p[ player ].hambre 
        if hambre then 
            return hambre 
        end 
    end 
end 
  

Link to comment
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...