Safari, WKWebview Crash in iOS 15 Beta2

We are servicing html5 games. I got a report from a user, and I heard that it will be whited out shortly after entering the game lobby in ios 15 beta. It was not a problem in iOS 14, but in iOS 15 beta2, it is forcibly terminated shortly after entering the lobby. Safari and WKWebview are all the same, and the same problem occurs regardless of the device. The devices I tested were ipad mini4, iphone 11, iphone 12.

Seeing that it does not crash when the light effect tween is turned off, I think that the amount of memory available to the GPU for rendering has decreased.

Does anyone have similar symptoms related to html5 games?

  • yes, we have experienced Safari performance problem on ios 15 too.

    even worse on beta 5, using a game from https://www.pixijs.com/gallery https://tooncup.cartoonnetwork.co.uk/home/

    it gets stuck at the entering game, while there is no problem on ios 14.

Add a Comment

Accepted Answer

try to disable option "GPU Process: Canvas Rendering". we don't know why it's on by default on beta 4 and 5.

  • The same issue with WKWebView, freezes on iOS 15 when the app goes to the background and returns back, but works correctly on iOS 14 and lower. Where do we need to disable this option? "GPU Process: Canvas Rendering"

  • You can find this setting in "Settings -> Safari -> Advanced -> Experimental Features" -- there should be a bunch of "GPU Process" Experimental WebKit Features enabled here.

    I can only add that we are also experiencing this issue with our web application, which is a canvas editing platform allowing for many canvases to be composited on top of one another. No problems for iOS versions < 15, and disabling this feature fixed the issue for us.

    We are looking to understand if this feature is intended to be enabled as part of iOS 15's official release. Curious if there is any insight available.

  • Thanks, this also helps us with the native Safari browser, but how to disable it from the code in the WKWebView that we are using in our application?

Answers

try to disable option "GPU Process: Canvas Rendering". we don't know why it's on by default on beta 4 and 5.

  • The same issue with WKWebView, freezes on iOS 15 when the app goes to the background and returns back, but works correctly on iOS 14 and lower. Where do we need to disable this option? "GPU Process: Canvas Rendering"

  • You can find this setting in "Settings -> Safari -> Advanced -> Experimental Features" -- there should be a bunch of "GPU Process" Experimental WebKit Features enabled here.

    I can only add that we are also experiencing this issue with our web application, which is a canvas editing platform allowing for many canvases to be composited on top of one another. No problems for iOS versions < 15, and disabling this feature fixed the issue for us.

    We are looking to understand if this feature is intended to be enabled as part of iOS 15's official release. Curious if there is any insight available.

  • Thanks, this also helps us with the native Safari browser, but how to disable it from the code in the WKWebView that we are using in our application?

  1. If there is a large amount of JavaScript to be parsed at once, the JavaScript engine seems to be very slow.
  2. Create a Graphics object using a path with many points and use it as a mask, and if you move it, memory leak occurs and the webview dies. ( in Cavas mode )
  3. If you do not disable GPU Process:Canvas Rendering when rendering in WebGL mode, it may become stuck when moving the scene. (tested in safari)

How can we fix this from code in WKWebKit?

  • same question

  • Me too

  • Thanks for your post. If you've filed a bug at https://feedbackassistant.apple.com, please post the number here. We're looking for as many reproducible case reports as possible.

Add a Comment

It seems the trigger is unicode string. We made a demo app and it worked in iOS15. After we put a unicode string it started to crash.

  • Can you share your demo app?

  • Thanks for your post. If you've filed a bug at https://feedbackassistant.apple.com, please post the number here and if you can attach your sample to the bug report, we can take a look.

  • Encountered the same problem, how to solve it?

Add a Comment

How can we fix this from code in WKWebKit?

Add a Comment

I get the problem that video only sound but no picture,in wkwebview iOS 15, both in our app and safari with device ipad 6, ipad mini 5 and iphone 8p i disable option "GPU Process: Media", and in safari it get right. so how can we fix this from code in WKWebKit?

Add a Comment

This new feature completely broke my app - which is a WKWebView with a large canvas. Performance is incredibly slow and renders the app useless. Worked great in iOS 14..

How can we disable this setting in a WKWebView?

Why would it be that that canvases performed better on the CPU but Apple dropped that as the default and switched to GPU processing? Wouldn't the switch be to increase performance?

Really concerned about the future of my app if we can't disable this 'feature'. Will the setting eventually go away and this will be the default?

  • same question

  • Thanks for your post. If you've filed a bug at https://feedbackassistant.apple.com, please post the number here. We're looking for reproducible cases so any example test sites or samples you can share would be great.

Add a Comment

We have the same problem. Our iOS and iPad app is built with WKWebView technologies and on iOS 15 and iPadOS 15 we now have huge problems with performance and stability because of this GPU option by default (on the previous iOS/iPadOS versions it's fine).

And we couldn't find a way how to turn this GPU option off in the app. Apple team, we need your help with this, a lot of users struggle.

  • Thanks for your post. Have you filed a bug at https://feedbackassistant.apple.com too? If so, could you please post the number here so we can take a look?

  • Hi there, yes we have! The number is 9669270. We also attached sysdiagnose files.

  • Any updates on this?

I reported it to apple, but this issue still keeps ignored. Monopoly companies are always willful, what can you do

  • IOS 15.0.1 still crash.

  • My webGL app based on three.js still crash too on iOS 15.0.1. What’s going on Apple ?

Add a Comment

same problem. Using canvas. Background the page then come back and everything is almost, but not quite, frozen. Users will have no clue how to fix this themselves.

  • Thanks for your post here in the forums. I'm hoping you've filed a bug at https://feedbackassistant.apple.com as well. If so, could you please post the number here? We're looking for reproducible cases so attaching a test app or URL to the report would be super helpful.

  • Same here, iPhone Xr(iOS15.0.1), pixijs wkwebview , background then foreground everything frozen(not 100%, keep trying for a few times you’ll trigger this). After some investigation, I find changing canvas size and some other operations takes too long to perform which is the cause of frozen. Operations like fillText & fillRect not working at all, canvas data url stay the same as before.

  • And disable GPU Process: canvas rendering not help, can still reproduce in 15.0 simulator, in my iPhone Xr(iOS 15.0.1) this bug too hard to reproduce, so I can't tell is it really fixed or just bad luck.

Add a Comment

We have the same issue, bug reported - FB9687881, please take a look

  • Is this report answered? Seems I don’t have the permission to view it. Will you please comments here if got any official solution? Thanks a million!

Add a Comment

https://stackoverflow.com/questions/69554317/safari-15-0-video-element-position-fixed-not-working-on-page-load

this help us, video now work fine.

We have similar issue. Our app using xTerm.js in WKWebview encounters character disappear and frequently crash.

It is all good on Safari on all devices and Simulators, and also on SFSafariViewController. It just happens in WKWebview on iPadOS 15.1 and iPhone Simulator with iOS 15.0 according to our test.

So we guess some features in WKWebview (possibly Canvas) have different behavior but we don't know what are they.

Any updates? Canvas in WKWebView are unusable.