Most shards of the Mac mac_unopt build are complete in ~15-17 minutes. The ci/ios_debug_unopt_sim shard takes ~32 minutes. 260 ms (4 mins 20 sec) of that is spent on a single OpenGLES test Play/DlGoldenTest.ShimmerTest/OpenGLES.
This test does 200 iterations of MakeScreenshot calls at 1024x768 * (2x scale) => 2048x1535 * 4 B/pixel = 12.5MB / screenshot. 12.5 MB/screenshot * 200 screenshots running in a synchronous loop 12.5MB at a time... but worse, OpenGLES isn't supported on mac, so we're shoving this through ANGLE.
This isn't a configuration we ever run on macOS/iOS devices. We should consider just disabling it altogether for those platforms and buy ourselves back all the time/compute; we're still testing on Android/Windows/Linux.
I'd say we could do the same for Vulkan but those tests aren't nearly as slow (I'd be fine either way).
From https://ci.chromium.org/ui/p/flutter/builders/try/Mac%20Engine%20Drone/2351150/overview
Why is the OpenGLES shimmer test so slow?
[ RUN ] Play/DlGoldenTest.ShimmerTest/Metal
[ OK ] Play/DlGoldenTest.ShimmerTest/Metal (4766 ms)
[ RUN ] Play/DlGoldenTest.ShimmerTest/MetalSDF
[ OK ] Play/DlGoldenTest.ShimmerTest/MetalSDF (4607 ms)
[ RUN ] Play/DlGoldenTest.ShimmerTest/OpenGLES
[ OK ] Play/DlGoldenTest.ShimmerTest/OpenGLES (259982 ms)
[ RUN ] Play/DlGoldenTest.ShimmerTest/Vulkan
Thoughts? @gaaclarke aside from the convenience of not manually skipping things on a platform-specific basis, are there any wins we're getting from running these on macOS/iOS?
Most shards of the
Mac mac_unoptbuild are complete in ~15-17 minutes. Theci/ios_debug_unopt_simshard takes ~32 minutes. 260 ms (4 mins 20 sec) of that is spent on a single OpenGLES testPlay/DlGoldenTest.ShimmerTest/OpenGLES.This test does 200 iterations of
MakeScreenshotcalls at 1024x768 * (2x scale) => 2048x1535 * 4 B/pixel = 12.5MB / screenshot. 12.5 MB/screenshot * 200 screenshots running in a synchronous loop 12.5MB at a time... but worse, OpenGLES isn't supported on mac, so we're shoving this through ANGLE.This isn't a configuration we ever run on macOS/iOS devices. We should consider just disabling it altogether for those platforms and buy ourselves back all the time/compute; we're still testing on Android/Windows/Linux.
I'd say we could do the same for Vulkan but those tests aren't nearly as slow (I'd be fine either way).
From https://ci.chromium.org/ui/p/flutter/builders/try/Mac%20Engine%20Drone/2351150/overview
Thoughts? @gaaclarke aside from the convenience of not manually skipping things on a platform-specific basis, are there any wins we're getting from running these on macOS/iOS?