Low fps on Ios platform

hello
I am using babylonjs with Oimo physics on my project.
I just using physics to do some bounce and I just use it at sometime
My game run at android platform I get not bed Fps on 40~60 (android 8+)
But on Ios platform it become to 15 ~ 2X Fps (I phone 6)
30 ~ 40+ on I phone 7

I tried
・HardwareScalingOptimization => same fps
・SceneOptimizer => when run MergeMeshesOptimization it will come out some null position error (but i don’t know how to fix it maybe i need to check all Mesh if it is null or not before I run MergeMeshesOptimization ?)
・check memory leak
・Merge some static gameObject
・close adaptToDeviceRatio
・use seClonedMeshhMap
・use useGeometryUniqueIdsMap
・use useMaterialMeshMap

how does this demo keep 60 Fps on Iphone 6, any one could broken down please?

On this demo it using physics and it has very low fps on Ios :roll_eyes:
https://playground.babylonjs.com/#3I55DK#0
but if just took off the physics it will change a lot

detail information
Babylon.js version : 4.0.3
code language: typescript
two people (total bone 118 )
total Mesh 14714
total Draw Calls 32
total Materials 30
total textures 28
total Active meshes 34
total meshes 56
total lights 2
no shadow
memory 43.6Mb / 54.4Mb

any good way to improve the low Fps issue?
or how to find out the worst function in my project by web tool?
what should I do in next setp?
glad to hear your coding tip or advise to learning Optimize
thanks

The Sponza scene works well on iOS because it is really light on CPU (all the heavy work is done by the GPU)

For physics, this is the opposite. All the work is done by the CPU so on low end devices like iPhone6 it will suck up all the resources :frowning:

1 Like

Thanks your reply ! it was very helpful !!
I will try more Optimize to make GPU/CPU cost down :smiley:

1 Like