-
Notifications
You must be signed in to change notification settings - Fork 6k
Reland path volatility tracker, disabling it if deterministic rendering is requested #23226
Conversation
… rendering is requested (flutter/engine#23226)
… rendering is requested (flutter/engine#23226)
… rendering is requested (flutter/engine#23226)
… rendering is requested (flutter/engine#23226)
…ng is requested (flutter#23226) * Reland path volatility tracker (flutter#23063)" (flutter#23220) This reverts commit fceef3a. * allow disabling based on whether deterministic rendering is needed
|
Innocent question: Does this mean that our tests are running now in a mode further diverged from what our users experience? Does that introduce risk of users experiencing bugs that our tests can't catch? (Which I'm sure there are already plenty of paths for, so this wouldn't be a unique risk if true.) |
|
Golden tests internally run with deterministic rendering, which means all of the rendering is done on CPU. This is falling into that category because, AFAICT, this change made made rendering of some animations non-deterministic per frame. This was resulting in flip-flopping pixel differences per test run. However, these pixel differences were minor. So the short answer is: yes, this is now further diverging from what users experience, but all evidence we have points to it being different in a way that does not actually change anything important to users. |
Fixes flutter/flutter#58870 again
This should avoid the non-deterministic behavior seen in some internal screen diffing tests.
@jason-simmons has verified this removes the non-deterministic failures in the internal tests. I've added a unit test to validate that the tracker is disabled when deterministic rendering is requested.
The meat of the change from last time is in 6f4f6f8 (test in e553673)