You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This tracks our medium-term solution of #32170 that's based on something similar to driver tests.
This approach would be completely device/hardware-independent.
Also, it will work well on newer backends such as Vulkan and Metal, whereas our short term solution "SkSL-based shader warmup #53607" would have issues.
@liyuqian I'm having trouble understanding what this solution would look like in practical terms for developers. Will we still need to run some tests and package some output into the actual app? If so, will this solution work with Add2App?
Thanks!
That's great. Thanks @liyuqian . Do you have any sense of when this might be ready? I'm not looking for any accurate date, but wondering if this is possibly something in 2020 or 2021. Thanks.
Reacted by Superkramar, David Chen, Евгений Стёпин, Dev @ Joni.Ai and Sami Koskimäki
Reacted by Wendel, Andrew Coutts, Thibault Zanini, Philipp, 1korostelev, Miguel Oliveira, ArkeshGKalathiya, Superkramar, Евгений Стёпин, David Chen and 3 more
It sounds like @esDotDev is asking for SkSL warmup plus the ability to record a series of actions that can then be replayed---as opposed to writing something like that manually.
@Hixie That's a good question. It looks like a lot of progress was made on flutter.dev/go/flutter-nonhost. As noted above, there are in-tree examples here, so making a public API and giving it good documentation might be all that is left to do, but progress on #38329 appears to have stalled out.
I really have no idea. tbh I don't really know how to write tests, how the framework works, or any of that. And to super honest, I have like 0 passion to learn any of it, my passion is building cool UI's.
So I was thinking more along the lines of "Press this button", I run my app, smoke test it, and everything else is just taken care of somehow by the framework.
This bug is about the ability to write test code, that can be used to warm up shaders in a device independent way (I'm assuming this is some test code, that is run on device during the splash screen, just in time, to warm up shaders so the app then runs smoothly).
I'm simply saying, the write test code portion of this is problematic, maybe there some way we can automate it via recording a developer actions
It sounds like @esDotDev is asking for SkSL warmup plus the ability to record a series of actions that can then be replayed---as opposed to writing something like that manually.
(I'm assuming this is some test code, that is run on device during the splash screen, just in time, to warm up shaders so the app then runs smoothly).
Test code runs on the developer's computer (or in CI). The output would be something that you can package with the app so that the app can warm up shaders on launch, like you can do now with the more manual warm-up.
Being able to generate a test that replays a given input would be interesting, can you file a bug suggesting that? (It could be useful outside of shader warmup too.)
Reacted by Muhammad Akif Farhan, Raouf Rahiche and Neevash Ramdial (Nash)
This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of flutter doctor -v and a minimal reproduction of the issue.
Activity
kf6gpe commentedon Apr 21, 2020
cc @kf6gpe
zanderso commentedon Jul 6, 2020
@liyuqian are you working on this? Should this issue have a priority and milestone? Thanks!
liyuqian commentedon Jul 6, 2020
@zanderso : this is currently blocked by #38329 . I'll self-assign and add a milestone once that's closed.
acoutts commentedon Jul 19, 2020
Looking forward to this one! By device independent do you mean an iphone 11 would need its own tests and an iphone 8 would also need its own?
dannyvalentesonos commentedon Jul 25, 2020
@liyuqian I'm having trouble understanding what this solution would look like in practical terms for developers. Will we still need to run some tests and package some output into the actual app? If so, will this solution work with Add2App?
Thanks!
liyuqian commentedon Jul 27, 2020
@dannyvalentesonos : You'll write some tests like https://github.com/flutter/flutter/pull/62171/files#diff-e05d298bb504bbbed0b6f263fd72e954R17-R27. There's no need to run the test locally or generate something from it. We'll directly package the test code into the actual app, run the test code in the background with some special GPU context that only compiles shaders. It should work with Add2App.
dannyvalentesonos commentedon Jul 27, 2020
That's great. Thanks @liyuqian . Do you have any sense of when this might be ready? I'm not looking for any accurate date, but wondering if this is possibly something in 2020 or 2021. Thanks.
liyuqian commentedon Jul 28, 2020
It's probably 2021.
xinoxapps commentedon Oct 13, 2020
Any change this can have a boost with the available resources of Google.
This is a big deal breaker as animations become more popular in the onboarding screens of the app.
17 remaining items
Hixie commentedon Mar 20, 2021
@zanderso do we know what's needed to make that happen? Is it basically "run flutter_tester with all the backends enabled"?
@esDotDev that's already possible right?
zanderso commentedon Mar 22, 2021
It sounds like @esDotDev is asking for SkSL warmup plus the ability to record a series of actions that can then be replayed---as opposed to writing something like that manually.
@Hixie That's a good question. It looks like a lot of progress was made on flutter.dev/go/flutter-nonhost. As noted above, there are in-tree examples here, so making a public API and giving it good documentation might be all that is left to do, but progress on #38329 appears to have stalled out.
esDotDev commentedon Mar 23, 2021
I really have no idea. tbh I don't really know how to write tests, how the framework works, or any of that. And to super honest, I have like 0 passion to learn any of it, my passion is building cool UI's.
So I was thinking more along the lines of "Press this button", I run my app, smoke test it, and everything else is just taken care of somehow by the framework.
Hixie commentedon Mar 23, 2021
@esDotDev Ah ok. That's not what this bug is about. This bug is about being able to create automated tests to collect shaders.
esDotDev commentedon Mar 23, 2021
Just recap my understanding:
Exactly this ^
Hixie commentedon Mar 23, 2021
Test code runs on the developer's computer (or in CI). The output would be something that you can package with the app so that the app can warm up shaders on launch, like you can do now with the more manual warm-up.
Hixie commentedon Mar 23, 2021
Being able to generate a test that replays a given input would be interesting, can you file a bug suggesting that? (It could be useful outside of shader warmup too.)
esDotDev commentedon Mar 23, 2021
Done: #78869
Cheers
zanderso commentedon Aug 11, 2023
SkSL caching and warm-up is no longer the approach the team is pursuing to solve early-onset jank.
github-actions commentedon Aug 25, 2023
This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of
flutter doctor -vand a minimal reproduction of the issue.