Allow to do DrawNode invalidation on cached `BufferedContainer` without redrawing the framebuffer
This is needed for changing the parameters of a custom shader on BufferedContainer without tanking the performance (example: https://github.com/ppy/osu/pull/30391#discussion_r1815242461)
Cached framebuffer is redrawn only if DrawNode invalidation comes from a child or if it is explicitly requested via ForceRedraw() method.
Companion to https://github.com/ppy/osu/pull/30391
Is there a specific reason why this is in draft? Seems like it's ready for review according to my eyes?
I'm not sure the game-side feature proposal has been universally accepted, and this pull only makes sense in context of it, so I wouldn't disagree with draft.
For one I don't really see the point of this entire PR series so I'm not touching it.
@Uncomfy I noticed you updated your PRs but they are still in draft. Is there a reason they are draft?
@Uncomfy I noticed you updated your PRs but they are still in draft. Is there a reason they are draft?
I fear that propagating the color from DimmableStoryboard to each storyboard element every frame (which is how it is implemented right now) might bring noticeable performance impact, need to test that first before opening them up