UGUI性能优化

1、禁用空的Image。在Unity项目中,有时候会用空的Image并将alpha设置为0来接收点击事件。这样会产生不必要的overdraw,增加性能负担,可以使用以下脚本,只监听事件,不画网格,从而减少overdraw。

using UnityEngine.UI;

public class EmptyRaycast : Graphic
{
    public override void SetMaterialDirty()
    {
    }

    public override void SetVerticesDirty()
    {
    }

    protected override void OnPopulateMesh(VertexHelper vh)
    {
        vh.Clear();
    }
}

按如下使用方式,可以实现点击事件的监听,并且不产生overdraw。

UGUI性能优化_第1张图片UGUI性能优化_第2张图片

而如果是使用Image的话,则会产生overdraw。

UGUI性能优化_第3张图片UGUI性能优化_第4张图片

你可能感兴趣的:(Unity)