[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事件也不會被調用。

 

 

 

 

 

  

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM