Looking for unity3d Keywords? Try Ask4Keywords

unity3dCoroutines


Sintaxis

  • Coroutine StartCoroutine pública (rutina IEnumerator);
  • public Coroutine StartCoroutine (string methodName, valor del objeto = nulo);
  • public void StopCoroutine (string methodName);
  • public void StopCoroutine (rutina IEnumerator);
  • public void StopAllCoroutines ();

Observaciones

Consideraciones de rendimiento

Es mejor usar coroutines con moderación ya que la flexibilidad viene con un costo de rendimiento.

  • Coroutines en gran número exige más de la CPU que los métodos de actualización estándar.
  • Hay un problema en algunas versiones de Unity donde las rutinas producen basura en cada ciclo de actualización debido a que Unity MoveNext valor de retorno de MoveNext . Esto fue observado por última vez en 5.4.0b13. ( Informe de error )

Reducir la basura mediante el almacenamiento en caché de instrucciones de rendimiento

Un truco común para reducir la basura generada en las corrutinas es almacenar en caché la YieldInstruction .

IEnumerator TickEverySecond()
{
    var wait = new WaitForSeconds(1f); // Cache
    while(true)
    {
        yield return wait; // Reuse
    }
}

El rendimiento null no produce basura adicional.

Coroutines Ejemplos relacionados