Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Conversation

@dnfield
Copy link
Contributor

@dnfield dnfield commented Dec 21, 2020

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)

@google-cla google-cla bot added the cla: yes label Dec 21, 2020
@dnfield dnfield marked this pull request as ready for review December 22, 2020 05:38
@dnfield dnfield merged commit 5a2244c into flutter:master Dec 22, 2020
@dnfield dnfield deleted the path_vol branch December 22, 2020 16:25
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Dec 22, 2020
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Dec 22, 2020
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Dec 22, 2020
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Dec 22, 2020
gspencergoog pushed a commit to gspencergoog/engine that referenced this pull request Jan 5, 2021
…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
@eseidelGoogle
Copy link
Contributor

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.)

@dnfield
Copy link
Contributor Author

dnfield commented Jan 22, 2021

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.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Optimize setIsVolatile for Path

3 participants