Unity coroutine优化

http://angryant.com/2010/01/14/optimising-coroutine-yielding-in-c/

对于如下代码:

private IEnumerator DoFadeAlphaIn ()
{
	while (m_Alpha < 1.0f)
	{
		m_Alpha += Time.deltaTime;
		yield return 0;
	}
	m_Alpha = 1.0f;
}

Unity中的coroutine通常会配合yield使用;

某些编写协程代码的人会使用yield return 0来终止协程当前帧的运行,这样会发生值类型0到引用类型null的装箱和拆箱,导致多余空间的产生;

建议使用yield return null替代yield return 0.

你可能感兴趣的:(Unity3D)