好像这个问题之前2.x就有,3.7.2优化了opacity为0就不渲染后,这个问题一并带过来了
我在想,opacity为0可以不渲染,但似乎不应该不dirty
好像这个问题之前2.x就有,3.7.2优化了opacity为0就不渲染后,这个问题一并带过来了
我在想,opacity为0可以不渲染,但似乎不应该不dirty
具体的复现步骤是?或者方便给个测试 demo?
不确定你和他之前的情况是不是一样,需要先确认下问题
这是他之前反馈的,你看看是不是一样
https://github.com/cocos/cocos-engine/issues/14570
issue 上有同步信息,你试试父节点的 active 状态重置下,active = false,active=true
3.8.3 ios原生依然会出现这个问题,android没有看
你研究下 node的hasChangedFlags 这个属性,每次让Opacity > 0 时,调佣下这个
具体怎么调用呢?
3.8.7 android还有这个问题
可以考虑先使用着色器修改 A 通道分量值来兼容问题了(即先不使用 UIOpacity)
我还没试过,用shader改透明度的话,能减少drawcall吗,我的使用场景就是为了不渲染屏幕外的节点才去改的透明度
噢,shader 不会降低 dc,如果使用多摄像头+ Render Texture 的形式来应用着色器还会增加dc。
所以如果你使用 UIOpacity 是为了减少 dc,就不适合改为着色器形式了。