[UE4]Invalidation Box

Invalidation Box:使条目无效的容器。使容器内的条目不再更新,如果确定某一个UI不需要更新的话,就可以把这个UI放到Invalidation Box中。

一、Invalidation Box是一个性能优化容器

二、通过外界给Invalidation Box内的子控件赋值,子控件是会更新的。只有子控件自身代码引起的变化会被Invalidation Box禁止更新。

  

   

三、Invalidation Box.CanCache:Invalidation Box的子控件是否可被更新,true可更新,false不可更新。

  

  1、创建一个名为“CountsWidget”的UserWidget,添加名为TextBlock_1的TextBlock,并在TextBlock_1的Tick事件中递增一个数字:

    

  2、创建一个名为“TestInvalidationBox”的UserWidget

    

    Invalidation Box.SetCanCache可以设置子控件是否可更新。

    

   3、运行游戏,Invalidation Box子控件默认是不更新的。

    

  4、点击“Toggle CanCache”按钮开始更新,再点击一下“Toggle CanCache”按钮,数字停止在31并停止更新

    

  5、过了一段时间,再点击一下“Toggle CanCache”按钮,数字从31开始继续更新,而不是Invalidation Box的子控件实际在更新,但被Invalidation Box阻止在界面上显示出来

  6、Invalidation Box的子控件完全停止,所有一切互动都静止,包括tick事件也不会被调用。

 

 

 

 

 

  

  

转载于:https://www.cnblogs.com/timy/p/10293631.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值