flowkey/UIKit-cross-platform

Fix performance optimization to render externally triggered layer changes

ephemer opened this issue · 1 comments

For example, if an external subsystem (like audio input) triggers a layer change, we currently have no way of invalidating (parts of) the layer tree so we can re-render.

This currently means that we have to re-render every frame, which wastes a lot of CPU cycles

We can probably achieve what we need fairly easily by adding a static CALayer.renderTreeIsUpToDate which we can set to false every time a layer property changes and true after a render pass.

Fixed in #183