About BabylonJs ios optimization

My project, which runs smoothly on Windows and Android, gives errors in apple products, does not open, or produces endless fps values and stops using webgl, videos do not play. I looked at some topics on the forum, I did what was written there, but I still could not get the result I wanted. Is there a detailed documentation on this subject or someone who can help. I want to give a small example. My project, which does not work on iPadOS 16.3, works fine on the phone with iOS version 16.5, but of course, the room sometimes gives errors, I am facing a strange problem that I cannot solve.

Sorry to hear about that!

Safari, the best browser on iOS (wait, it’s the only browser on iOS) has had its fair share of issues in the past. I am sure you have found all of the iOS threads on this forum.
If you have a different issue and didn’t find an answer, it will be wonderful if you could reproduce the issue on the playground so we can see what might be the error here.
@sebavan might be able to provide some context to the difference between 16.3 and 16.5

After choking on the documentation a bit, I cleaned the bugs in pbr materials and other issues. Now there is only the problem of the video not having sound, if I can solve it, I will not have a problem.
As a footnote, incredibly ridiculous problems, I really felt like I was programming on commodor 64.

You should probably request permission to play sounds on this tab. this requires user interaction. Babylon can take of that for you if you use the audio engine (AudioEngine | Babylon.js Documentation), otherwise you will need to deal with audio permissions on your own.

I wonder - is this criticism about babylon.js, or safari?

I got some information from the above link and from different areas and I came to the end of the problem gradually.
But still no sound on apple devices
|
|
Definitely a criticism about safari and apple :slight_smile:
I love developing BabylonJs, I don’t want to be misunderstood

2 Likes

can you play the video in Safari without Babylon ?

I’ve completed the video playback part, now I just can’t hear the sound of the video
I think it’s because of the video codec format, I’m making a few edits about it. In response to your question, every video in my site in html video tags gives sound and image without any problems.

If you autoplay in Babylon, we mute the video on your behalf so you might want to unmute after user interaction or manage the video element yourself so Babylon simply use it to copy into a texture.

In case someone encounters this problem later, I would like to summarize my adventure here, please correct me if there are mistakes in what I have told.
First of all, my project, which worked smoothly on Windows and Android, started to produce problems that I could not understand on Apple devices, the scene could not be loaded, as webgl was exploding, I thoroughly memorized the documentation published on both BabylonJs and APPLE and solved the problems step by step as follows.
1- I kept my loading time long with Apple device and uploaded the loading of textures async so that webgl didn’t explode
2- I bind each of my videoTextures to a user CLICK event and its associated trace so that every video will run smoothly, the main problem here was autoplay and audio with various rules
3 - I used separate definitions for each device and browser so that the quality of the scene on the system, joystick behaviors, uploads, pictures, videos progressed differently at each step.
Finally, to summarize, it is necessary to consider that each device has different features and to ensure that it does not affect both the optimization and the user experience.