-
Notifications
You must be signed in to change notification settings - Fork 29.7k
Description
A number of improvements to blur performance have landed, primarily centered around scaling down the input texture before doing the blur. As a result, the example in #132735 is much faster. From running a metal trace, we can now see that a majority of time is spent in texture fill ops, which provides some hints for next potential optimizations.
We had previously discussed using linear interpolation in the blur shader, but based on this profile some other things we could try:
-
Skip the downsample, instead sample from a fixed miplevel of the input texture. This would make the blur slightly more costly, but we would be able to reduce the texture ops.
-
For the second blur pass, rather than writing that into a new texture and filling that texture to parent pass, adjust the uvs and write the second texture directly into the parent. Since the FilterContents return a Snapshot, i'm not sure exactly how we'd do that.
FYI @gaaclarke
