I recently tested a game I had made with a group of coworkers. A couple of the coworkers were getting slowdown so I asked to play with one of their phones. I tried a couple things like disabling Device Pixel Ratio and Anti-Aliasing. These didn’t do anything for me. I noticed that they were on low power mode on their iPhones. I turned it off and all the issues were immediately resolved. Does anyone know any way around this? I can’t share the project in its current state because it is for a client but if I need to strip it down to try and show the issue I can. In the meantime here is some info on the project: The entire folder (engine plus game assets) is less than 0.5 mb when compressed. It is sprite based, there are no lights or 3D models. It does not use ammo. Turning the project on to force High Performance or Low Power did not fix the issue while Low Power Mode was enabled.
Let me know if anyone has had this issue before. Thanks!
I’m not sure if there is any real way around this. I believe that low power mode actually forces the CPU of the device to run at slower speeds to save power. There would be nothing on the Playcanvas side to force the CPU to override it’s set limits.The only thing you could do would be to strip the project down until it requires almost no processing, but even then, you might still run into issues. Most likely, the app is running at a slower framerate because the CPU is throttling itself.
Since you mentioned that things are running slow in the update loop, it’s likely that in your other tests, the app is running at a full 60fps, and is not when run on lower powered devices. Since WebGL is limited to 60fps on most browsers by default this would explain why higher powered devices appear consistent. To ensure that you have relatively consistent things happening regardless of framerate, you would want to make sure that any manipulations done during the update loop are multipled by deltaTime (dt).