Hey there,
I am sending our latest slot game, where we use WebGL + Spine for the first time.
Link
The problem:
We are facing a crash on iPhone 6, 7 older iPad Air and some low-end Android phones, but for Android it happens very rarely. Also, on Chrome iOS or Mac, performance with WebGL is just terrible.
On iphones the game reloads once and then crashes before even the game state is reached.
On Ipad, the game loads, but shortly after loading it reloads and then crashes.
On Chrome we get the “Oh Snap” page.
On Safari we get "A problem repeatedly occurred " page.
For these devices we force Canvas, but I do not like this solution, as before crashing, on Ipads the game looks great.
Implementation details:
- We use large images - the background is ~3000 x 3000 with some spritetesheets < 2048 x 2048 .
- Config:
const config: GameConfig = {
type: renderer, // Calculated depending on device render: { failIfMajorPerformanceCaveat: true, }, scale: { fullscreenTarget: 'app-root', parent: 'the-canvas', mode: Phaser.Scale.NONE, width: width, height: height, }, audio: { disableWebAudio: true, noAudio: true }, plugins: { scene: [ {key: 'SpinePlugin', plugin: (window as any).SpinePlugin, mapping: 'spine', start: true, sceneKey: 'spine'} ] } };
- Resizing is done manually, where we use the full resolution / DPR of the device.
- In general, there are masks, camera movement and zooming, images, spritesheets, animations, spine, particles … but none of them
Thoughts & Questions:
- Do you have experience with similar issues?
- Any way to debug this crash (nothing in developer tools)
- I suspect it is a RAM problem, but I really do not know.
Thank you in advance for your help.
–Martin