WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED DUPLICATE of
bug 302711
301627
[WebGPU] Canvas flickers while rendering WebGPU game
https://bugs.webkit.org/show_bug.cgi?id=301627
Summary
[WebGPU] Canvas flickers while rendering WebGPU game
Ashley Gullen
Reported
2025-10-29 08:14:16 PDT
Safari on iOS 26 adds support for WebGPU. We now use this in our browser-based game engine Construct (
https://www.construct.net
). However whe rendering with WebGPU, the canvas appears to flicker, as if it is becoming invisible for some frames. This makes WebGPU unusable in Safari. Reproduction links: WebGPU demo:
https://downloads.scirra.com/labs/bugs/flying-along/webgpu/
WebGL demo:
https://downloads.scirra.com/labs/bugs/flying-along/webgl/
Just tap and hold to move the pig. Observe the rendering. Try starting in portrait orientation. Expected result: Smooth rendering with WebGPU as it does with WebGL. Observed result: when using WebGPU only, the entire canvas flickers. Sometimes it settles down after a few seconds and stops, but in other cases it flickers continuously. If it settles down, reloading the page usually reproduces it again. This reproduces in Safari on iOS 26.0.1 on an iPhone 12 Pro Max.
Attachments
Add attachment
proposed patch, testcase, etc.
Radar WebKit Bug Importer
Comment 1
2025-10-29 09:27:19 PDT
<
rdar://problem/163647932
>
Mike Wyrzykowski
Comment 2
2025-10-29 09:28:12 PDT
Seems ok on Safari Technology Preview 230. Going to check on iPhone
Mike Wyrzykowski
Comment 3
2025-10-29 09:29:43 PDT
Reproduces on iPhone
Mike Wyrzykowski
Comment 4
2025-10-29 09:29:54 PDT
going to try with ToT WebKit
Mike Wyrzykowski
Comment 5
2025-10-29 10:02:26 PDT
This seems fixed on ToT WebKit
Mike Wyrzykowski
Comment 6
2025-10-29 10:03:00 PDT
Possibly fixed by
https://commits.webkit.org/302128@main
Mike Wyrzykowski
Comment 7
2025-10-29 10:03:22 PDT
Going to confirm that was the commit which fixed the issue
Mike Wyrzykowski
Comment 8
2025-10-29 11:21:30 PDT
I can still reproduce on
302212@main
so I don't think its related
drew
Comment 9
2025-12-22 07:07:38 PST
When I encountered the same problem on a different engine, I eventually uncovered two causes. May not be your particular causes, but typical "why does my custom engine flicker only on Safari" problems. 1. requestAnimationFrame. In particular, you want to a) call it at all, b) inside that callback produce a frame synchronously, which can be nontrivial to do with async WebGPU APIs, c) profile your calls and callbacks to ensure you're not encountering queueing delay, d) but also expect pretty much fixed 16ms vsync delay on WebKit. 2. The callback GPUQueue: onSubmittedWorkDone() arrives for me in roughly 32ms (2 v-sycs) which tends to be later than some other browsers. If you are like me and ran the napkin math on "obviously we can do a trivial GPU pass in a few ms) you may want to consider if this is the source of the flicker.
Ashley Gullen
Comment 10
2026-01-08 03:32:58 PST
This issue still reproduces for me in Safari 26.2. It makes WebGPU completely unusable, and so we're going to have to disable WebGPU entirely on iOS and fall back to WebGL rendering only for the time being. FWIW our engine does already synchronously render in requestAnimationFrame and does not rely on onSubmittedWorkDone.
Ashley Gullen
Comment 11
2026-01-08 03:37:48 PST
It looks like the issue also reproduces in Safari 26.2 on macOS, which means WebGPU is currently completely unusable for us on all Apple platforms.
Ahmad Saleem
Comment 12
2026-01-08 03:41:20 PST
(In reply to Ashley Gullen from
comment #11
)
> It looks like the issue also reproduces in Safari 26.2 on macOS, which means > WebGPU is currently completely unusable for us on all Apple platforms.
Can you share macOS hardware details? Apple Silicon M1 etc? It would be good to know.
Mike Wyrzykowski
Comment 13
2026-01-08 08:43:09 PST
This might be fixed on WebKit main. I don’t reproduce on my iPhone Air with ToT WebKit when viewing
https://downloads.scirra.com/labs/bugs/flying-along/webgpu/
Mike Wyrzykowski
Comment 14
2026-01-08 08:43:26 PST
Going to try some other devices to be sure
Mike Wyrzykowski
Comment 15
2026-01-08 09:39:37 PST
I’m able to reproduce on an iPhone 13 Mini on shipping iOS 26.2
Mike Wyrzykowski
Comment 16
2026-01-08 11:07:47 PST
Installing ToT webkit on the iPhone 13 mini and I don't reproduce. To fully close out this bug we should bisect from 26.2 and dupe to the change which resolved this
Mike Wyrzykowski
Comment 18
2026-01-08 12:26:39 PST
*** This bug has been marked as a duplicate of
bug 302711
***
Ashley Gullen
Comment 19
2026-02-13 07:04:06 PST
This still reproduces for me on macOS, iPadOS and iOS 26.3. I don't know if the fix for this is meant to be in that release. Should I file a new issue?
Mike Wyrzykowski
Comment 20
2026-02-13 09:59:01 PST
Sorry my wording was potentially confusing. There was a bug fix after 26.2
https://bugs.webkit.org/show_bug.cgi?id=302711
which addressed this. It is only in STP right now. I will update you when it’s in a public beta of iOS.
Mike Wyrzykowski
Comment 21
2026-02-16 10:57:13 PST
Thanks again for the bug report, I just wanted to let you know this should be resolved in beta 1 of iOS 26.4 which is now available to developers.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug