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。
而如果是使用Image的话,则会产生overdraw。