Jump to content

Duda acerca de los ElementData


Calculador

Recommended Posts

Buenas a todos, bueno tengo una duda y decidí manifestarla por este medio  teniendo fe en que alguien de aquí tal vez pueda solucionarmela.

Lo que quería saber es; si es claro que los ElementData consumen CPU del servidor, ¿hasta que punto un resource se vuelve complemente inservible por el excesivo uso de esta función?. Es decir, cual es el limite máximo para que un resource no se vuelva un consumo exagerado para el servidor y ¿de que manera se podría optimizar para que este consumo sea menor?.

Desde ya, muchas gracias.

Edited by Calculador
Link to comment

Te llega a consumir demasiado dependiendo el valor que quieres almacenar; yo lo utilizo cuando necesito guardar datos pequeños, de lo contrario si fuesen tablas o elementos uso los trigger. Con respecto al limite eso varía dependiendo del tipo de script que quieres hacer ya sea algo simple o más complicado.

Link to comment
7 hours ago, Enargy, said:

Te llega a consumir demasiado dependiendo el valor que quieres almacenar; yo lo utilizo cuando necesito guardar datos pequeños, de lo contrario si fuesen tablas o elementos uso los trigger. Con respecto al limite eso varía dependiendo del tipo de script que quieres hacer ya sea algo simple o más complicado.

¿A  que te refieres con datos pequeños? a mi me resulta muy útil mas que todo utilizarlo almacenando booleanos para hacer restricciones y una que otras excepciones donde almaceno datos distintos, pero igual son temporales. Por eso, de lo anterior me surge otra pregunta, ¿podría optimizar removiendo los elementData sin uso, es decir, utilizando la función removeElementData, o eso no influye en lo absoluto?

Muchas gracias por responder.xD

 

Edited by Calculador
Link to comment
removeElementData(source, "dataName")
-- es igual que hacer
setElementData(source, "dataName", nil)

Con datos pequeños me refiero a lo que quisieras almacenar como por ejemplo los booleanos, tablas, elements etc etc. Puedes usar los elementData guardar datos inclusive los que son algo pesados, como las tablas con valores dentro siempre y cuando no sincronices cliente con server y viceversa.

setElementData(source, "test", {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ...}, false) -- 'false' es para no sincronizar los dos sides.

Aun con esto todavía sigue siendo mal optimizado porque aun cuando esta desactivado necesita que todos los clientes estén sincronizados. Mejor usa eventos para que no te consume mucho CPU y usas tablas para guardar datos.

Link to comment

Que yo sepa al consumir mucha CPU es cuando usas los elementsData en la parte clientes pero si se trata sobre server evita ese consumo, pero si es sobre client consuma mucho entonces causa demasiado lag para los cartoneros (Con una ram de 1.50 gb o 2gb) digo lo que se si me equivoco corrigen me ^^

Link to comment
On 30/3/2018 at 01:57, Enargy, said:

removeElementData(source, "dataName")
-- es igual que hacer
setElementData(source, "dataName", nil)

Con datos pequeños me refiero a lo que quisieras almacenar como por ejemplo los booleanos, tablas, elements etc etc. Puedes usar los elementData guardar datos inclusive los que son algo pesados, como las tablas con valores dentro siempre y cuando no sincronices cliente con server y viceversa.


setElementData(source, "test", {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ...}, false) -- 'false' es para no sincronizar los dos sides.

Aun con esto todavía sigue siendo mal optimizado porque aun cuando esta desactivado necesita que todos los clientes estén sincronizados. Mejor usa eventos para que no te consume mucho CPU y usas tablas para guardar datos.

Listo, muchas gracias, ya me ha quedado claro todo :) 

Link to comment

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
  • Recently Browsing   0 members

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