Consider using a static set of less specialized shaders that can be compiled on startup #77412
Labels
c: performance
Relates to speed or footprint issues (see "perf:" labels)
dependency: skia
Skia team may need to help us
e: impeller
Impeller rendering backend issues and features requests
engine
flutter/engine repository. See also e: labels.
P1
High-priority issues at the top of the work list
perf: speed
Performance issues related to (mostly rendering) speed
Projects
Since we currently pay a price (jank) each time a new shader is used, and since some animations end up using a lot of new shaders, one option would be to use less specialized shaders.
If we had a static set of shaders, we could asynchronously compile them on program startup, so that by the time the application runs an animation we can use this static set and not stutter while we prepare a new one.
Medium term we could also determine what specialized shaders we would want to use in each scene, and compile them in the background so that the next time, if all the specialized shaders we would want to use are ready, we could just use them. That way we get the long-term sustained performance benefits of specialized shaders and the short-term smooth start performance benefits of a static shader set.
The text was updated successfully, but these errors were encountered: