Unity Spain

Post Antiguos => General (Antiguo) => Mensaje iniciado por: Andrews-Phoenix en Enero 09, 2016, 05:21:20 AM

Título: Optimizar codigo
Publicado por: Andrews-Phoenix en Enero 09, 2016, 05:21:20 AM
Buenas a todos, seré breve:Para optimizar código, es mejor dejar o por lo menos tratar de dejar solo un update que maneje casi todo, y solo llamar a el resto de funciones de otros scripts por medio de corrutinas? o es normal dejar el update en cada uno de todos los script que tengo?. EjemploTengo script con sus update para:Ahora, puedo dejarlo algo así? o es que estoy pensando bobadas? jeejejeMuchísimas gracias por sus respuestas. 
Título: Optimizar codigo
Publicado por: Arthure en Enero 09, 2016, 06:27:13 AM
oohhh my god ! jajaja tomandote la frase prestada: estas pensando en bobadas xD ahora en serio ... ya lo tienes organizado bien. las corrutinas van muy bien pero solo para hacer su funcion, son como los medicamentos: no hay que abusar tampoco porque tendras un problema mayor del que pretendias solucionar.a parte de eso, claro que hay que tratar de optimizar siempre el codigo lo maximo que te sea posible pero la optimizacion no depende del uso de corrutinas (puede estar tan mal optimizado el codigo dentro de un update como de una corrutina). la optimizacion tiene mas que ver con la organizacion del codigo y un conjunto de reglas sobre las funciones y como utilices estas: por ejemplo, no utilizar nunca gameObject.GetComponent dentro de un Update.Un saludo y suerte
Título: Optimizar codigo
Publicado por: kaito en Enero 09, 2016, 08:20:22 AM
Los eventos(del ratón, renderizado, físicas, UI, ... ) necesitan de un script añadido al GameObject.Puedes utilizar corrutinas siempre que no necesites detectar un evento de Unity.
Título: Optimizar codigo
Publicado por: mrpacogp en Enero 09, 2016, 01:36:44 PM
Mi consejo es que midas y pruebes. Hay expertos que dicen una cosa y otros otra, pero cada proyecto es un mundo. Mide y prueba, profiling everywhere....
Título: Optimizar codigo
Publicado por: Null en Enero 29, 2016, 11:14:31 AM
Cita de: Arthure date=1452317233" data-ipsquote="" data-cite="Arthure" class="ipsQuoteno utilizar nunca gameObject.GetComponent dentro de un Update.
Hola,
y dónde iría ese GetComponent?

Dentro de un Awake?
(noob here xd)
Título: Optimizar codigo
Publicado por: juanma_teso en Enero 29, 2016, 03:43:00 PM
Si @Monsieur Null (//<___base_url___>/profile/27733-monsieur-null/), puedes cachear un componente de cualquier tipo para acceder más rápidamente:
MiComponente comp;

void Start ()
{
    comp = GetComponent<MiComponente>();
}

void Update ()
{
    comp.funcion();
}

//Es más eficiente que

void Update ()
{
    GetComponent<MiComponente>().funcion();
}
 
Título: Optimizar codigo
Publicado por: mrpacogp en Enero 29, 2016, 05:23:56 PM
Lo correcto es hacerlo en el awake, alargas el tiempo de carga pero durante le juego eres mas estable.