Repository navigation
Commit 1c2aa2e
Skip layer invalidation when an iOS View only changes opacity
An opacity change set `needsInvalidateLayer`, so `finalizeUpdates:` ran the
whole `invalidateLayer`: shadow path, borders, and the background,
box-shadow, outline and mask layers. `invalidateLayer` reads the opacity
only to combine it with `filter`, and the new opacity is already applied to
the layer in `updateProps:`, so the invalidation is now requested only when
the view has a filter. Native-driver and Reanimated opacity animations
update every animated view on every frame, so each styled view paid the
full invalidation per frame.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>1 parent 96dddb0 commit 1c2aa2e
1 file changed
Lines changed: 4 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
355 | 355 | | |
356 | 356 | | |
357 | 357 | | |
358 | | - | |
| 358 | + | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
359 | 362 | | |
360 | 363 | | |
361 | 364 | | |
| |||
0 commit comments