前言
- 写这个的起因是因为看了唐建伟大佬在UWA上发表的文章合并Shader系列_如何合并渲染状态。看完后受益良多,但是也对文中这样合并shader会不会产生shader的变种(shader variant)有所担心,因此在UWA的问答上提出了问题,最后唐建伟也做出了回答,经过大佬授权在这里根据回答进行一些总结,想看原文的可以直接点击链接。
1、Canvas.SendWillRenderCanvases()
该API为UI元素自身发生变化(比如被Enable或者被缩放,移动并不算)时所产生的调用。发生在canvas被渲染之前。
2、Canvas.BuildBatch
该API为UI元素合并的Mesh需要改变时所产生的调用。通常之前所提到的Canvas.SendWillRenderCanvases()的调用都会引起Canvas.BuildBatch的调用。另外,Canvas中的UI元素发生移动也会引起Canvas.BuildBatch的调用。
Update your browser to view this website correctly. Update my browser now